]> gitweb.factorcode.org Git - factor.git/commitdiff
gobject-introspection: fix incorrect resolving of current vocab's path;
authorAnton Gorenko <ex.rzrjck@gmail.com>
Tue, 15 Mar 2011 16:38:51 +0000 (22:38 +0600)
committerAnton Gorenko <ex.rzrjck@gmail.com>
Tue, 15 Mar 2011 16:38:51 +0000 (22:38 +0600)
clutter: remove all girs, add Cally;

basis/gobject-introspection/gobject-introspection.factor
extra/clutter/Clutter-1.0.gir [deleted file]
extra/clutter/cally/cally.factor [new file with mode: 0644]
extra/clutter/cally/ffi/ffi.factor [new file with mode: 0644]
extra/clutter/cogl/Cogl-1.0.gir [deleted file]
extra/clutter/cogl/ffi/ffi.factor
extra/clutter/ffi/ffi.factor
extra/clutter/gtk/GtkClutter-0.10.gir [deleted file]
extra/clutter/gtk/ffi/ffi.factor
extra/clutter/json/Json-1.0.gir [deleted file]
extra/clutter/json/ffi/ffi.factor

index e2c000348fea9c24e257653e68bd79562ab31b01..5d02cc79663fe49a4fea58b66ae7bfc03797912c 100755 (executable)
@@ -24,10 +24,13 @@ M: gir-not-found summary
 : custom-gir-dirs ( -- dirs )
     "GIR_DIRS" os-env ":" split ;
 
+: current-vocab-path ( -- path )
+    current-vocab vocab-name "." split "/" join vocab-path ;
+
 : current-vocab-dirs ( -- dirs )
     [
-        current-vocab vocab-name "." split "/" join dup ,
-        dup file-name "ffi" = [ parent-directory , ] [ drop ] if
+        current-vocab-path
+        [ , ] [ "/ffi" ?tail [ , ] [ drop ] if ] bi
     ] { } make ;
 
 :: resolve-gir-path ( path -- path )
diff --git a/extra/clutter/Clutter-1.0.gir b/extra/clutter/Clutter-1.0.gir
deleted file mode 100644 (file)
index e8fc46f..0000000
+++ /dev/null
@@ -1,40940 +0,0 @@
-<?xml version="1.0"?>
-<!-- This file was automatically generated from C sources - DO NOT EDIT!
-To affect the contents of this file, edit the original C definitions,
-and/or use gtk-doc annotations.  -->
-<repository version="1.2"
-            xmlns="http://www.gtk.org/introspection/core/1.0"
-            xmlns:c="http://www.gtk.org/introspection/c/1.0"
-            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
-  <include name="Atk" version="1.0"/>
-  <include name="Cogl" version="1.0"/>
-  <include name="GL" version="1.0"/>
-  <include name="GLib" version="2.0"/>
-  <include name="GObject" version="2.0"/>
-  <include name="Gio" version="2.0"/>
-  <include name="Json" version="1.0"/>
-  <include name="Pango" version="1.0"/>
-  <include name="PangoCairo" version="1.0"/>
-  <include name="PangoFT2" version="1.0"/>
-  <include name="cairo" version="1.0"/>
-  <include name="fontconfig" version="2.0"/>
-  <include name="freetype2" version="2.0"/>
-  <package name="clutter-1.0"/>
-  <c:include name="clutter/clutter.h"/>
-  <namespace name="Clutter"
-             version="1.0"
-             shared-library="libclutter-glx-1.0.so.0"
-             c:identifier-prefixes="Clutter"
-             c:symbol-prefixes="clutter">
-    <constant name="0" value="48">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="1" value="49">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="2" value="50">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3" value="51">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_AltCursor" value="64784">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_Attn" value="64782">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_BackTab" value="64773">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_ChangeScreen" value="64793">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_Copy" value="64789">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_CursorBlink" value="64783">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_CursorSelect" value="64796">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_DeleteWord" value="64794">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_Duplicate" value="64769">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_Enter" value="64798">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_EraseEOF" value="64774">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_EraseInput" value="64775">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_ExSelect" value="64795">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_FieldMark" value="64770">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_Ident" value="64787">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_Jump" value="64786">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_KeyClick" value="64785">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_Left2" value="64772">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_PA1" value="64778">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_PA2" value="64779">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_PA3" value="64780">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_Play" value="64790">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_PrintScreen" value="64797">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_Quit" value="64777">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_Record" value="64792">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_Reset" value="64776">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_Right2" value="64771">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_Rule" value="64788">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_Setup" value="64791">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="3270_Test" value="64781">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="4" value="52">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="5" value="53">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="6" value="54">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="7" value="55">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="8" value="56">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="9" value="57">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="A" value="65">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="AE" value="198">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Aacute" value="193">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Abelowdot" value="16785056">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Abreve" value="451">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Abreveacute" value="16785070">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Abrevebelowdot" value="16785078">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Abrevegrave" value="16785072">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Abrevehook" value="16785074">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Abrevetilde" value="16785076">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="AccessX_Enable" value="65136">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="AccessX_Feedback_Enable" value="65137">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Acircumflex" value="194">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Acircumflexacute" value="16785060">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Acircumflexbelowdot" value="16785068">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Acircumflexgrave" value="16785062">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Acircumflexhook" value="16785064">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Acircumflextilde" value="16785066">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="Action"
-           c:symbol-prefix="action"
-           c:type="ClutterAction"
-           version="1.4"
-           parent="ActorMeta"
-           abstract="1"
-           glib:type-name="ClutterAction"
-           glib:get-type="clutter_action_get_type"
-           glib:type-struct="ActionClass">
-      <doc xml:whitespace="preserve">The &lt;structname&gt;ClutterAction&lt;/structname&gt; structure contains only
-private data and should be accessed using the provided API</doc>
-      <field name="parent_instance">
-        <type name="ActorMeta" c:type="ClutterActorMeta"/>
-      </field>
-    </class>
-    <record name="ActionClass"
-            c:type="ClutterActionClass"
-            glib:is-gtype-struct-for="Action"
-            version="1.4">
-      <doc xml:whitespace="preserve">The &lt;structname&gt;ClutterActionClass&lt;/structname&gt; structure contains
-only private data</doc>
-      <field name="parent_class">
-        <type name="ActorMetaClass" c:type="ClutterActorMetaClass"/>
-      </field>
-      <field name="_clutter_action1" introspectable="0">
-        <callback name="_clutter_action1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_action2" introspectable="0">
-        <callback name="_clutter_action2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_action3" introspectable="0">
-        <callback name="_clutter_action3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_action4" introspectable="0">
-        <callback name="_clutter_action4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_action5" introspectable="0">
-        <callback name="_clutter_action5">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_action6" introspectable="0">
-        <callback name="_clutter_action6">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_action7" introspectable="0">
-        <callback name="_clutter_action7">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_action8" introspectable="0">
-        <callback name="_clutter_action8">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <class name="Actor"
-           c:symbol-prefix="actor"
-           c:type="ClutterActor"
-           parent="GObject.InitiallyUnowned"
-           abstract="1"
-           glib:type-name="ClutterActor"
-           glib:get-type="clutter_actor_get_type"
-           glib:type-struct="ActorClass">
-      <doc xml:whitespace="preserve">Base class for actors.</doc>
-      <implements name="Atk.ImplementorIface"/>
-      <implements name="Animatable"/>
-      <implements name="Scriptable"/>
-      <virtual-method name="allocate" invoker="allocate" version="0.8">
-        <doc xml:whitespace="preserve">Called by the parent of an actor to assign the actor its size.
-Should never be called by applications (except when implementing
-a container or layout manager).
-Actors can know from their allocation box whether they have moved
-with respect to their parent actor. The @flags parameter describes
-additional information about the allocation, for instance whether
-the parent has moved with respect to the stage, for example because
-a grandparent's origin has moved.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="box" transfer-ownership="none">
-            <doc xml:whitespace="preserve">new allocation of the actor, in parent-relative coordinates</doc>
-            <type name="ActorBox" c:type="ClutterActorBox*"/>
-          </parameter>
-          <parameter name="flags" transfer-ownership="none">
-            <doc xml:whitespace="preserve">flags that control the allocation</doc>
-            <type name="AllocationFlags" c:type="ClutterAllocationFlags"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="apply_transform">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="matrix" transfer-ownership="none">
-            <type name="Cogl.Matrix" c:type="CoglMatrix*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="get_accessible" invoker="get_accessible">
-        <doc xml:whitespace="preserve">Returns the accessible object that describes the actor to an
-assistive technology.
-If no class-specific #AtkObject implementation is available for the
-actor instance in question, it will inherit an #AtkObject
-implementation from the first ancestor class for which such an
-implementation is defined.
-The documentation of the &lt;ulink
-url="http://developer.gnome.org/doc/API/2.0/atk/index.html"&gt;ATK&lt;/ulink&gt;
-library contains more information about accessible objects and
-their uses.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #AtkObject associated with @actor</doc>
-          <type name="Atk.Object" c:type="AtkObject*"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="get_preferred_height"
-                      invoker="get_preferred_height"
-                      version="0.8">
-        <doc xml:whitespace="preserve">Computes the requested minimum and natural heights for an actor,
-or if they are already computed, returns the cached values.
-An actor may not get its request - depending on the layout
-manager that's in effect.
-A request should not incorporate the actor's scale or anchor point;
-those transformations do not affect layout, only rendering.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="for_width" transfer-ownership="none">
-            <doc xml:whitespace="preserve">available width to assume in computing desired height, or a negative value to indicate that no width is defined</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="min_height_p"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for minimum height, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="natural_height_p"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for natural height, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="get_preferred_width"
-                      invoker="get_preferred_width"
-                      version="0.8">
-        <doc xml:whitespace="preserve">Computes the requested minimum and natural widths for an actor,
-optionally depending on the specified height, or if they are
-already computed, returns the cached values.
-An actor may not get its request - depending on the layout
-manager that's in effect.
-A request should not incorporate the actor's scale or anchor point;
-those transformations do not affect layout, only rendering.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="for_height" transfer-ownership="none">
-            <doc xml:whitespace="preserve">available height when computing the preferred width, or a negative value to indicate that no height is defined</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="min_width_p"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for minimum width, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="natural_width_p"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the natural width, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="hide_all" invoker="hide_all" version="0.2">
-        <doc xml:whitespace="preserve">Calls clutter_actor_hide() on all child actors (if any).</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="map" invoker="map" version="1.0">
-        <doc xml:whitespace="preserve">Sets the %CLUTTER_ACTOR_MAPPED flag on the actor and possibly maps
-and realizes its children if they are visible. Does nothing if the
-actor is not visible.
-#ClutterActor &lt;function&gt;map()&lt;/function&gt; virtual function in an actor
-and you need to map the children of that actor. It is not necessary
-to call this if you implement #ClutterContainer because the default
-implementation will automatically map children of containers.
-When overriding map, it is mandatory to chain up to the parent
-implementation.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="show_all" invoker="show_all" version="0.2">
-        <doc xml:whitespace="preserve">Calls clutter_actor_show() on all children of an actor (if any).</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="unmap" invoker="unmap" version="1.0">
-        <doc xml:whitespace="preserve">Unsets the %CLUTTER_ACTOR_MAPPED flag on the actor and possibly
-unmaps its children if they were mapped.
-#ClutterActor &lt;function&gt;unmap()&lt;/function&gt; virtual function in an actor
-and you need to unmap the children of that actor. It is not necessary
-to call this if you implement #ClutterContainer because the default
-implementation will automatically unmap children of containers.
-When overriding unmap, it is mandatory to chain up to the parent
-implementation.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </virtual-method>
-      <method name="add_action"
-              c:identifier="clutter_actor_add_action"
-              version="1.4">
-        <doc xml:whitespace="preserve">Adds @action to the list of actions applied to @self
-A #ClutterAction can only belong to one actor at a time
-The #ClutterActor will hold a reference on @action until either
-clutter_actor_remove_action() or clutter_actor_clear_actions()
-is called</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="action" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterAction</doc>
-            <type name="Action" c:type="ClutterAction*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="add_action_with_name"
-              c:identifier="clutter_actor_add_action_with_name"
-              version="1.4">
-        <doc xml:whitespace="preserve">A convenience function for setting the name of a #ClutterAction
-while adding it to the list of actions applied to @self
-This function is the logical equivalent of:
-|[
-clutter_actor_meta_set_name (CLUTTER_ACTOR_META (action), name);
-clutter_actor_add_action (self, action);
-]|</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name to set on the action</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="action" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterAction</doc>
-            <type name="Action" c:type="ClutterAction*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="add_constraint"
-              c:identifier="clutter_actor_add_constraint"
-              version="1.4">
-        <doc xml:whitespace="preserve">Adds @constraint to the list of #ClutterConstraint&lt;!-- --&gt;s applied
-to @self
-The #ClutterActor will hold a reference on the @constraint until
-either clutter_actor_remove_constraint() or
-clutter_actor_clear_constraints() is called.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="constraint" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterConstraint</doc>
-            <type name="Constraint" c:type="ClutterConstraint*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="add_constraint_with_name"
-              c:identifier="clutter_actor_add_constraint_with_name"
-              version="1.4">
-        <doc xml:whitespace="preserve">A convenience function for setting the name of a #ClutterConstraint
-while adding it to the list of constraints applied to @self
-This function is the logical equivalent of:
-|[
-clutter_actor_meta_set_name (CLUTTER_ACTOR_META (constraint), name);
-clutter_actor_add_constraint (self, constraint);
-]|</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name to set on the constraint</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="constraint" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterConstraint</doc>
-            <type name="Constraint" c:type="ClutterConstraint*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="add_effect"
-              c:identifier="clutter_actor_add_effect"
-              version="1.4">
-        <doc xml:whitespace="preserve">Adds @effect to the list of #ClutterEffect&lt;!-- --&gt;s applied to @self
-The #ClutterActor will hold a reference on the @effect until either
-clutter_actor_remove_effect() or clutter_actor_clear_effects() is
-called.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="effect" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterEffect</doc>
-            <type name="Effect" c:type="ClutterEffect*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="add_effect_with_name"
-              c:identifier="clutter_actor_add_effect_with_name"
-              version="1.4">
-        <doc xml:whitespace="preserve">A convenience function for setting the name of a #ClutterEffect
-while adding it to the list of effectss applied to @self
-This function is the logical equivalent of:
-|[
-clutter_actor_meta_set_name (CLUTTER_ACTOR_META (effect), name);
-clutter_actor_add_effect (self, effect);
-]|</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name to set on the effect</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="effect" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterEffect</doc>
-            <type name="Effect" c:type="ClutterEffect*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="allocate"
-              c:identifier="clutter_actor_allocate"
-              version="0.8">
-        <doc xml:whitespace="preserve">Called by the parent of an actor to assign the actor its size.
-Should never be called by applications (except when implementing
-a container or layout manager).
-Actors can know from their allocation box whether they have moved
-with respect to their parent actor. The @flags parameter describes
-additional information about the allocation, for instance whether
-the parent has moved with respect to the stage, for example because
-a grandparent's origin has moved.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="box" transfer-ownership="none">
-            <doc xml:whitespace="preserve">new allocation of the actor, in parent-relative coordinates</doc>
-            <type name="ActorBox" c:type="ClutterActorBox*"/>
-          </parameter>
-          <parameter name="flags" transfer-ownership="none">
-            <doc xml:whitespace="preserve">flags that control the allocation</doc>
-            <type name="AllocationFlags" c:type="ClutterAllocationFlags"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="allocate_align_fill"
-              c:identifier="clutter_actor_allocate_align_fill"
-              version="1.4">
-        <doc xml:whitespace="preserve">Allocates @self by taking into consideration the available allocation
-area; an alignment factor on either axis; and whether the actor should
-fill the allocation on either axis.
-The @box should contain the available allocation width and height;
-if the x1 and y1 members of #ClutterActorBox are not set to 0, the
-allocation will be offset by their value.
-This function takes into consideration the geometry request specified by
-the #ClutterActor:request-mode property, and the text direction.
-This function is useful for fluid layout managers, like #ClutterBinLayout
-or #ClutterTableLayout</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="box" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActorBox, containing the available width and height</doc>
-            <type name="ActorBox" c:type="ClutterActorBox*"/>
-          </parameter>
-          <parameter name="x_align" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the horizontal alignment, between 0 and 1</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="y_align" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the vertical alignment, between 0 and 1</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="x_fill" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether the actor should fill horizontally</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-          <parameter name="y_fill" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether the actor should fill vertically</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-          <parameter name="flags" transfer-ownership="none">
-            <doc xml:whitespace="preserve">allocation flags to be passed to clutter_actor_allocate()</doc>
-            <type name="AllocationFlags" c:type="ClutterAllocationFlags"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="allocate_available_size"
-              c:identifier="clutter_actor_allocate_available_size"
-              version="1.0">
-        <doc xml:whitespace="preserve">Allocates @self taking into account the #ClutterActor&lt;!-- --&gt;'s
-preferred size, but limiting it to the maximum available width
-and height provided.
-This function will do the right thing when dealing with the
-actor's request mode.
-The implementation of this function is equivalent to:
-|[
-if (request_mode == CLUTTER_REQUEST_HEIGHT_FOR_WIDTH)
-{
-clutter_actor_get_preferred_width (self, available_height,
-&amp;amp;min_width,
-&amp;amp;natural_width);
-width = CLAMP (natural_width, min_width, available_width);
-clutter_actor_get_preferred_height (self, width,
-&amp;amp;min_height,
-&amp;amp;natural_height);
-height = CLAMP (natural_height, min_height, available_height);
-}
-else
-{
-clutter_actor_get_preferred_height (self, available_width,
-&amp;amp;min_height,
-&amp;amp;natural_height);
-height = CLAMP (natural_height, min_height, available_height);
-clutter_actor_get_preferred_width (self, height,
-&amp;amp;min_width,
-&amp;amp;natural_width);
-width = CLAMP (natural_width, min_width, available_width);
-}
-box.x1 = x; box.y1 = y;
-box.x2 = box.x1 + available_width;
-box.y2 = box.y1 + available_height;
-clutter_actor_allocate (self, &amp;amp;box, flags);
-]|
-This function can be used by fluid layout managers to allocate
-an actor's preferred size without making it bigger than the area
-available for the container.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the actor's X coordinate</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the actor's Y coordinate</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="available_width" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the maximum available width, or -1 to use the actor's natural width</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="available_height" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the maximum available height, or -1 to use the actor's natural height</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="flags" transfer-ownership="none">
-            <doc xml:whitespace="preserve">flags controlling the allocation</doc>
-            <type name="AllocationFlags" c:type="ClutterAllocationFlags"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="allocate_preferred_size"
-              c:identifier="clutter_actor_allocate_preferred_size"
-              version="0.8">
-        <doc xml:whitespace="preserve">Allocates the natural size of @self.
-This function is a utility call for #ClutterActor implementations
-that allocates the actor's preferred natural size. It can be used
-by fixed layout managers (like #ClutterGroup or so called
-'composite actors') inside the ClutterActor::allocate
-implementation to give each child exactly how much space it
-requires.
-This function is not meant to be used by applications. It is also
-not meant to be used outside the implementation of the
-ClutterActor::allocate virtual function.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="flags" transfer-ownership="none">
-            <doc xml:whitespace="preserve">flags controlling the allocation</doc>
-            <type name="AllocationFlags" c:type="ClutterAllocationFlags"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="animate"
-              c:identifier="clutter_actor_animate"
-              version="1.0"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Animates the given list of properties of @actor between the current
-value for each property and a new final value. The animation has a
-definite duration and a speed given by the @mode.
-For example, this:
-|[
-clutter_actor_animate (rectangle, CLUTTER_LINEAR, 250,
-"width", 100.0,
-"height", 100.0,
-NULL);
-]|
-will make width and height properties of the #ClutterActor "rectangle"
-grow linearly between the current value and 100 pixels, in 250 milliseconds.
-The animation @mode is a logical id, either from the #ClutterAnimationMode
-enumeration of from clutter_alpha_register_func().
-All the properties specified will be animated between the current value
-and the final value. If a property should be set at the beginning of
-the animation but not updated during the animation, it should be prefixed
-by the "fixed::" string, for instance:
-|[
-clutter_actor_animate (actor, CLUTTER_EASE_IN_SINE, 100,
-"rotation-angle-z", 360.0,
-"fixed::rotation-center-z", &amp;amp;center,
-NULL);
-]|
-Will animate the "rotation-angle-z" property between the current value
-and 360 degrees, and set the "rotation-center-z" property to the fixed
-value of the #ClutterVertex "center".
-This function will implicitly create a #ClutterAnimation object which
-will be assigned to the @actor and will be returned to the developer
-to control the animation or to know when the animation has been
-completed.
-If a name argument starts with "signal::", "signal-after::",
-"signal-swapped::" or "signal-swapped-after::" the two following arguments
-are used as callback function and data for a signal handler installed on
-the #ClutterAnimation object for the specified signal name, for instance:
-|[
-static void
-on_animation_completed (ClutterAnimation *animation,
-ClutterActor     *actor)
-{
-clutter_actor_hide (actor);
-}
-clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 100,
-"opacity", 0,
-"signal::completed", on_animation_completed, actor,
-NULL);
-]|
-or, to automatically destroy an actor at the end of the animation:
-|[
-clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 100,
-"opacity", 0,
-"signal-swapped-after::completed",
-clutter_actor_destroy,
-actor,
-NULL);
-]|
-The "signal::" modifier is the equivalent of using g_signal_connect();
-the "signal-after::" modifier is the equivalent of using
-g_signal_connect_after() or g_signal_connect_data() with the
-%G_CONNECT_AFTER; the "signal-swapped::" modifier is the equivalent
-of using g_signal_connect_swapped() or g_signal_connect_data() with the
-%G_CONNECT_SWAPPED flah; finally, the "signal-swapped-after::" modifier
-is the equivalent of using g_signal_connect_data() with both the
-%G_CONNECT_AFTER and %G_CONNECT_SWAPPED flags. The clutter_actor_animate()
-function will not keep track of multiple connections to the same signal,
-so it is your responsability to avoid them when calling
-clutter_actor_animate() multiple times on the same actor.
-Calling this function on an actor that is already being animated
-will cause the current animation to change with the new final values,
-the new easing mode and the new duration - that is, this code:
-|[
-clutter_actor_animate (actor, CLUTTER_LINEAR, 250,
-"width", 100.0,
-"height", 100.0,
-NULL);
-clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500,
-"x", 100.0,
-"y", 100.0,
-"width", 200.0,
-NULL);
-]|
-is the equivalent of:
-|[
-clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500,
-"x", 100.0,
-"y", 100.0,
-"width", 200.0,
-"height", 100.0,
-NULL);
-]|
-&lt;note&gt;Unless the animation is looping, the #ClutterAnimation created by
-clutter_actor_animate() will become invalid as soon as it is
-complete.&lt;/note&gt;
-Since the created #ClutterAnimation instance attached to @actor
-is guaranteed to be valid throughout the #ClutterAnimation::completed
-signal emission chain, you will not be able to create a new animation
-using clutter_actor_animate() on the same @actor from within the
-#ClutterAnimation::completed signal handler unless you use
-g_signal_connect_after() to connect the callback function, for instance:
-|[
-static void
-on_animation_completed (ClutterAnimation *animation,
-ClutterActor     *actor)
-{
-clutter_actor_animate (actor, CLUTTER_EASE_OUT_CUBIC, 250,
-"x", 500.0,
-"y", 500.0,
-NULL);
-}
-...
-animation = clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 250,
-"x", 100.0,
-"y", 100.0,
-NULL);
-g_signal_connect (animation, "completed",
-G_CALLBACK (on_animation_completed),
-actor);
-...
-]|
-owned by the #ClutterActor and should not be unreferenced with
-g_object_unref()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterAnimation object. The object is</doc>
-          <type name="Animation" c:type="ClutterAnimation*"/>
-        </return-value>
-        <parameters>
-          <parameter name="mode" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an animation mode logical id</doc>
-            <type name="gulong" c:type="gulong"/>
-          </parameter>
-          <parameter name="duration" transfer-ownership="none">
-            <doc xml:whitespace="preserve">duration of the animation, in milliseconds</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="first_property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of a property</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="animate_with_alpha"
-              c:identifier="clutter_actor_animate_with_alpha"
-              version="1.0"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Animates the given list of properties of @actor between the current
-value for each property and a new final value. The animation has a
-definite behaviour given by the passed @alpha.
-See clutter_actor_animate() for further details.
-This function is useful if you want to use an existing #ClutterAlpha
-to animate @actor.
-#ClutterActor and should not be unreferenced with g_object_unref()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterAnimation object. The object is owned by the</doc>
-          <type name="Animation" c:type="ClutterAnimation*"/>
-        </return-value>
-        <parameters>
-          <parameter name="alpha" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterAlpha</doc>
-            <type name="Alpha" c:type="ClutterAlpha*"/>
-          </parameter>
-          <parameter name="first_property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of a property</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="animate_with_alphav"
-              c:identifier="clutter_actor_animate_with_alphav"
-              version="1.0">
-        <doc xml:whitespace="preserve">Animates the given list of properties of @actor between the current
-value for each property and a new final value. The animation has a
-definite behaviour given by the passed @alpha.
-See clutter_actor_animate() for further details.
-This function is useful if you want to use an existing #ClutterAlpha
-to animate @actor.
-This is the vector-based variant of clutter_actor_animate_with_alpha(),
-useful for language bindings.
-&lt;warning&gt;Unlike clutter_actor_animate_with_alpha(), this function will
-not allow you to specify "signal::" names and callbacks.&lt;/warning&gt;
-#ClutterActor and should not be unreferenced with g_object_unref()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterAnimation object. The object is owned by the</doc>
-          <type name="Animation" c:type="ClutterAnimation*"/>
-        </return-value>
-        <parameters>
-          <parameter name="alpha" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterAlpha</doc>
-            <type name="Alpha" c:type="ClutterAlpha*"/>
-          </parameter>
-          <parameter name="n_properties" transfer-ownership="none">
-            <doc xml:whitespace="preserve">number of property names and values</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="properties" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a vector containing the property names to set</doc>
-            <array length="1" c:type="gchar*">
-              <type name="utf8"/>
-            </array>
-          </parameter>
-          <parameter name="values" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a vector containing the property values to set</doc>
-            <array length="1" c:type="GValue*">
-              <type name="GObject.Value"/>
-            </array>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="animate_with_timeline"
-              c:identifier="clutter_actor_animate_with_timeline"
-              version="1.0"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Animates the given list of properties of @actor between the current
-value for each property and a new final value. The animation has a
-definite duration given by @timeline and a speed given by the @mode.
-See clutter_actor_animate() for further details.
-This function is useful if you want to use an existing timeline
-to animate @actor.
-owned by the #ClutterActor and should not be unreferenced with
-g_object_unref()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterAnimation object. The object is</doc>
-          <type name="Animation" c:type="ClutterAnimation*"/>
-        </return-value>
-        <parameters>
-          <parameter name="mode" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an animation mode logical id</doc>
-            <type name="gulong" c:type="gulong"/>
-          </parameter>
-          <parameter name="timeline" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterTimeline</doc>
-            <type name="Timeline" c:type="ClutterTimeline*"/>
-          </parameter>
-          <parameter name="first_property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of a property</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="animate_with_timelinev"
-              c:identifier="clutter_actor_animate_with_timelinev"
-              version="1.0">
-        <doc xml:whitespace="preserve">Animates the given list of properties of @actor between the current
-value for each property and a new final value. The animation has a
-definite duration given by @timeline and a speed given by the @mode.
-See clutter_actor_animate() for further details.
-This function is useful if you want to use an existing timeline
-to animate @actor.
-This is the vector-based variant of clutter_actor_animate_with_timeline(),
-useful for language bindings.
-&lt;warning&gt;Unlike clutter_actor_animate_with_timeline(), this function
-will not allow you to specify "signal::" names and callbacks.&lt;/warning&gt;
-owned by the #ClutterActor and should not be unreferenced with
-g_object_unref()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterAnimation object. The object is</doc>
-          <type name="Animation" c:type="ClutterAnimation*"/>
-        </return-value>
-        <parameters>
-          <parameter name="mode" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an animation mode logical id</doc>
-            <type name="gulong" c:type="gulong"/>
-          </parameter>
-          <parameter name="timeline" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterTimeline</doc>
-            <type name="Timeline" c:type="ClutterTimeline*"/>
-          </parameter>
-          <parameter name="n_properties" transfer-ownership="none">
-            <doc xml:whitespace="preserve">number of property names and values</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="properties" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a vector containing the property names to set</doc>
-            <array length="2" c:type="gchar*">
-              <type name="utf8"/>
-            </array>
-          </parameter>
-          <parameter name="values" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a vector containing the property values to set</doc>
-            <array length="2" c:type="GValue*">
-              <type name="GObject.Value"/>
-            </array>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="animatev"
-              c:identifier="clutter_actor_animatev"
-              version="1.0">
-        <doc xml:whitespace="preserve">Animates the given list of properties of @actor between the current
-value for each property and a new final value. The animation has a
-definite duration and a speed given by the @mode.
-This is the vector-based variant of clutter_actor_animate(), useful
-for language bindings.
-&lt;warning&gt;Unlike clutter_actor_animate(), this function will not
-allow you to specify "signal::" names and callbacks.&lt;/warning&gt;
-owned by the #ClutterActor and should not be unreferenced with
-g_object_unref()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterAnimation object. The object is</doc>
-          <type name="Animation" c:type="ClutterAnimation*"/>
-        </return-value>
-        <parameters>
-          <parameter name="mode" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an animation mode logical id</doc>
-            <type name="gulong" c:type="gulong"/>
-          </parameter>
-          <parameter name="duration" transfer-ownership="none">
-            <doc xml:whitespace="preserve">duration of the animation, in milliseconds</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="n_properties" transfer-ownership="none">
-            <doc xml:whitespace="preserve">number of property names and values</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="properties" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a vector containing the property names to set</doc>
-            <array length="2" c:type="gchar*">
-              <type name="utf8"/>
-            </array>
-          </parameter>
-          <parameter name="values" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a vector containing the property values to set</doc>
-            <array length="2" c:type="GValue*">
-              <type name="GObject.Value"/>
-            </array>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="apply_relative_transform_to_point"
-              c:identifier="clutter_actor_apply_relative_transform_to_point"
-              version="0.6">
-        <doc xml:whitespace="preserve">Transforms @point in coordinates relative to the actor into
-ancestor-relative coordinates using the relevant transform
-stack (i.e. scale, rotation, etc).
-If @ancestor is %NULL the ancestor will be the #ClutterStage. In
-this case, the coordinates returned will be the coordinates on
-the stage before the projection is applied. This is different from
-the behaviour of clutter_actor_apply_transform_to_point().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="ancestor" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">A #ClutterActor ancestor, or %NULL to use the default #ClutterStage</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="point" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A point as #ClutterVertex</doc>
-            <type name="Vertex" c:type="ClutterVertex*"/>
-          </parameter>
-          <parameter name="vertex" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The translated #ClutterVertex</doc>
-            <type name="Vertex" c:type="ClutterVertex*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="apply_transform_to_point"
-              c:identifier="clutter_actor_apply_transform_to_point"
-              version="0.4">
-        <doc xml:whitespace="preserve">Transforms @point in coordinates relative to the actor
-into screen-relative coordinates with the current actor
-transformation (i.e. scale, rotation, etc)</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="point" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A point as #ClutterVertex</doc>
-            <type name="Vertex" c:type="ClutterVertex*"/>
-          </parameter>
-          <parameter name="vertex" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The translated #ClutterVertex</doc>
-            <type name="Vertex" c:type="ClutterVertex*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="clear_actions"
-              c:identifier="clutter_actor_clear_actions"
-              version="1.4">
-        <doc xml:whitespace="preserve">Clears the list of actions applied to @self</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="clear_constraints"
-              c:identifier="clutter_actor_clear_constraints"
-              version="1.4">
-        <doc xml:whitespace="preserve">Clears the list of constraints applied to @self</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="clear_effects"
-              c:identifier="clutter_actor_clear_effects"
-              version="1.4">
-        <doc xml:whitespace="preserve">Clears the list of effects applied to @self</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="contains"
-              c:identifier="clutter_actor_contains"
-              version="1.4">
-        <doc xml:whitespace="preserve">Determines if @descendant is contained inside @self (either as an
-immediate child, or as a deeper descendant).</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">whether @descendent is contained within @self</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="descendant" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A #ClutterActor, possibly contained in @self</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="create_pango_context"
-              c:identifier="clutter_actor_create_pango_context"
-              version="1.0">
-        <doc xml:whitespace="preserve">Creates a #PangoContext for the given actor. The #PangoContext
-is already configured using the appropriate font map, resolution
-and font options.
-See also clutter_actor_get_pango_context().
-Use g_object_unref() on the returned value to deallocate its
-resources</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created #PangoContext.</doc>
-          <type name="Pango.Context" c:type="PangoContext*"/>
-        </return-value>
-      </method>
-      <method name="create_pango_layout"
-              c:identifier="clutter_actor_create_pango_layout"
-              version="1.0">
-        <doc xml:whitespace="preserve">Creates a new #PangoLayout from the same #PangoContext used
-by the #ClutterActor. The #PangoLayout is already configured
-with the font map, resolution and font options, and the
-given @text.
-If you want to keep around a #PangoLayout created by this
-function you will have to connect to the #ClutterBackend::font-changed
-and #ClutterBackend::resolution-changed signals, and call
-pango_layout_context_changed() in response to them.
-Use g_object_unref() when done</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created #PangoLayout.</doc>
-          <type name="Pango.Layout" c:type="PangoLayout*"/>
-        </return-value>
-        <parameters>
-          <parameter name="text" transfer-ownership="none">
-            <doc xml:whitespace="preserve">(allow-none) the text to set on the #PangoLayout, or %NULL</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="destroy" c:identifier="clutter_actor_destroy">
-        <doc xml:whitespace="preserve">Destroys an actor.  When an actor is destroyed, it will break any
-references it holds to other objects.  If the actor is inside a
-container, the actor will be removed.
-When you destroy a container, its children will be destroyed as well.
-clutter_stage_get_default().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="detach_animation"
-              c:identifier="clutter_actor_detach_animation"
-              version="1.4">
-        <doc xml:whitespace="preserve">Detaches the #ClutterAnimation used by @actor, if clutter_actor_animate()
-has been called on @actor.
-Once the animation has been detached, it loses a reference. If it was
-the only reference then the #ClutterAnimation becomes invalid.
-The #ClutterAnimation::completed signal will not be emitted.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="event" c:identifier="clutter_actor_event" version="0.6">
-        <doc xml:whitespace="preserve">This function is used to emit an event on the main stage.
-You should rarely need to use this function, except for
-synthetising events.
-if the actor handled the event, or %FALSE if the event was
-not handled</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the return value from the signal emission: %TRUE</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="event" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterEvent</doc>
-            <type name="Event" c:type="ClutterEvent*"/>
-          </parameter>
-          <parameter name="capture" transfer-ownership="none">
-            <doc xml:whitespace="preserve">TRUE if event in in capture phase, FALSE otherwise.</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_abs_allocation_vertices"
-              c:identifier="clutter_actor_get_abs_allocation_vertices"
-              version="0.4">
-        <doc xml:whitespace="preserve">Calculates the transformed screen coordinates of the four corners of
-the actor; the returned vertices relate to the #ClutterActorBox
-coordinates  as follows:
-&lt;itemizedlist&gt;
-&lt;listitem&gt;&lt;para&gt;v[0] contains (x1, y1)&lt;/para&gt;&lt;/listitem&gt;
-&lt;listitem&gt;&lt;para&gt;v[1] contains (x2, y1)&lt;/para&gt;&lt;/listitem&gt;
-&lt;listitem&gt;&lt;para&gt;v[2] contains (x1, y2)&lt;/para&gt;&lt;/listitem&gt;
-&lt;listitem&gt;&lt;para&gt;v[3] contains (x2, y2)&lt;/para&gt;&lt;/listitem&gt;
-&lt;/itemizedlist&gt;</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="verts"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">Pointer to a location of an array of 4 #ClutterVertex where to store the result.</doc>
-            <array c:type="ClutterVertex" fixed-size="4">
-              <type name="Vertex"/>
-            </array>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_accessible"
-              c:identifier="clutter_actor_get_accessible">
-        <doc xml:whitespace="preserve">Returns the accessible object that describes the actor to an
-assistive technology.
-If no class-specific #AtkObject implementation is available for the
-actor instance in question, it will inherit an #AtkObject
-implementation from the first ancestor class for which such an
-implementation is defined.
-The documentation of the &lt;ulink
-url="http://developer.gnome.org/doc/API/2.0/atk/index.html"&gt;ATK&lt;/ulink&gt;
-library contains more information about accessible objects and
-their uses.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #AtkObject associated with @actor</doc>
-          <type name="Atk.Object" c:type="AtkObject*"/>
-        </return-value>
-      </method>
-      <method name="get_action"
-              c:identifier="clutter_actor_get_action"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterAction with the given name in the list
-of actions applied to @self
-name, or %NULL. The returned #ClutterAction is owned by the
-actor and it should not be unreferenced directly</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterAction for the given</doc>
-          <type name="Action" c:type="ClutterAction*"/>
-        </return-value>
-        <parameters>
-          <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the action to retrieve</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_actions"
-              c:identifier="clutter_actor_get_actions"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the list of actions applied to @self
-of the list of #ClutterAction&lt;!-- --&gt;s. The contents of the list are
-owned by the #ClutterActor. Use g_list_free() to free the resources
-allocated by the returned #GList</doc>
-        <return-value transfer-ownership="container">
-          <doc xml:whitespace="preserve">a copy</doc>
-          <type name="GLib.List" c:type="GList*">
-            <type name="Action"/>
-          </type>
-        </return-value>
-      </method>
-      <method name="get_allocation_box"
-              c:identifier="clutter_actor_get_allocation_box"
-              version="0.8">
-        <doc xml:whitespace="preserve">Gets the layout box an actor has been assigned. The allocation can
-only be assumed valid inside a paint() method; anywhere else, it
-may be out-of-date.
-An allocation does not incorporate the actor's scale or anchor point;
-those transformations do not affect layout, only rendering.
-&lt;note&gt;Do not call any of the clutter_actor_get_allocation_*() family
-of functions inside the implementation of the get_preferred_width()
-or get_preferred_height() virtual functions.&lt;/note&gt;</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="box"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">the function fills this in with the actor's allocation</doc>
-            <type name="ActorBox" c:type="ClutterActorBox*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_allocation_geometry"
-              c:identifier="clutter_actor_get_allocation_geometry"
-              version="0.8">
-        <doc xml:whitespace="preserve">Gets the layout box an actor has been assigned.  The allocation can
-only be assumed valid inside a paint() method; anywhere else, it
-may be out-of-date.
-An allocation does not incorporate the actor's scale or anchor point;
-those transformations do not affect layout, only rendering.
-The returned rectangle is in pixels.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="geom"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">allocation geometry in pixels</doc>
-            <type name="Geometry" c:type="ClutterGeometry*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_allocation_vertices"
-              c:identifier="clutter_actor_get_allocation_vertices"
-              version="0.6">
-        <doc xml:whitespace="preserve">Calculates the transformed coordinates of the four corners of the
-actor in the plane of @ancestor. The returned vertices relate to
-the #ClutterActorBox coordinates as follows:
-&lt;itemizedlist&gt;
-&lt;listitem&gt;&lt;para&gt;@verts[0] contains (x1, y1)&lt;/para&gt;&lt;/listitem&gt;
-&lt;listitem&gt;&lt;para&gt;@verts[1] contains (x2, y1)&lt;/para&gt;&lt;/listitem&gt;
-&lt;listitem&gt;&lt;para&gt;@verts[2] contains (x1, y2)&lt;/para&gt;&lt;/listitem&gt;
-&lt;listitem&gt;&lt;para&gt;@verts[3] contains (x2, y2)&lt;/para&gt;&lt;/listitem&gt;
-&lt;/itemizedlist&gt;
-If @ancestor is %NULL the ancestor will be the #ClutterStage. In
-this case, the coordinates returned will be the coordinates on
-the stage before the projection is applied. This is different from
-the behaviour of clutter_actor_get_abs_allocation_vertices().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="ancestor" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">A #ClutterActor to calculate the vertices against, or %NULL to use the #ClutterStage</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="verts"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for an array of 4 #ClutterVertex in which to store the result</doc>
-            <array c:type="ClutterVertex" fixed-size="4">
-              <type name="Vertex"/>
-            </array>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_anchor_point"
-              c:identifier="clutter_actor_get_anchor_point"
-              version="0.6">
-        <doc xml:whitespace="preserve">Gets the current anchor point of the @actor in pixels.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="anchor_x"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the X coordinate of the anchor point</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="anchor_y"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the Y coordinate of the anchor point</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_anchor_point_gravity"
-              c:identifier="clutter_actor_get_anchor_point_gravity"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the anchor position expressed as a #ClutterGravity. If
-the anchor point was specified using pixels or units this will
-return %CLUTTER_GRAVITY_NONE.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #ClutterGravity used by the anchor point</doc>
-          <type name="Gravity" c:type="ClutterGravity"/>
-        </return-value>
-      </method>
-      <method name="get_animation"
-              c:identifier="clutter_actor_get_animation"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterAnimation used by @actor, if clutter_actor_animate()
-has been called on @actor.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterAnimation, or %NULL</doc>
-          <type name="Animation" c:type="ClutterAnimation*"/>
-        </return-value>
-      </method>
-      <method name="get_clip"
-              c:identifier="clutter_actor_get_clip"
-              version="0.6">
-        <doc xml:whitespace="preserve">Gets the clip area for @self, if any is set</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="xoff"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the X offset of the clip rectangle, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="yoff"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the Y offset of the clip rectangle, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="width"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the width of the clip rectangle, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="height"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the height of the clip rectangle, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_clip_to_allocation"
-              c:identifier="clutter_actor_get_clip_to_allocation"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the value set using clutter_actor_set_clip_to_allocation()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the #ClutterActor is clipped to its allocation</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_constraint"
-              c:identifier="clutter_actor_get_constraint"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterConstraint with the given name in the list
-of constraints applied to @self
-name, or %NULL. The returned #ClutterConstraint is owned by the
-actor and it should not be unreferenced directly</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterConstraint for the given</doc>
-          <type name="Constraint" c:type="ClutterConstraint*"/>
-        </return-value>
-        <parameters>
-          <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the constraint to retrieve</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_constraints"
-              c:identifier="clutter_actor_get_constraints"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the list of constraints applied to @self
-of the list of #ClutterConstraint&lt;!-- --&gt;s. The contents of the list are
-owned by the #ClutterActor. Use g_list_free() to free the resources
-allocated by the returned #GList</doc>
-        <return-value transfer-ownership="container">
-          <doc xml:whitespace="preserve">a copy</doc>
-          <type name="GLib.List" c:type="GList*">
-            <type name="Constraint"/>
-          </type>
-        </return-value>
-      </method>
-      <method name="get_depth" c:identifier="clutter_actor_get_depth">
-        <doc xml:whitespace="preserve">Retrieves the depth of @self.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the depth of the actor</doc>
-          <type name="gfloat" c:type="gfloat"/>
-        </return-value>
-      </method>
-      <method name="get_effect"
-              c:identifier="clutter_actor_get_effect"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterEffect with the given name in the list
-of effects applied to @self
-name, or %NULL. The returned #ClutterEffect is owned by the
-actor and it should not be unreferenced directly</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterEffect for the given</doc>
-          <type name="Effect" c:type="ClutterEffect*"/>
-        </return-value>
-        <parameters>
-          <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the effect to retrieve</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_effects"
-              c:identifier="clutter_actor_get_effects"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterEffect&lt;!-- --&gt;s applied on @self, if any
-of #ClutterEffect&lt;!-- --&gt;s, or %NULL. The elements of the returned
-list are owned by Clutter and they should not be freed. You should
-free the returned list using g_list_free() when done</doc>
-        <return-value transfer-ownership="container">
-          <doc xml:whitespace="preserve">a list</doc>
-          <type name="GLib.List" c:type="GList*">
-            <type name="Effect"/>
-          </type>
-        </return-value>
-      </method>
-      <method name="get_fixed_position_set"
-              c:identifier="clutter_actor_get_fixed_position_set"
-              version="0.8">
-        <doc xml:whitespace="preserve">Checks whether an actor has a fixed position set (and will thus be
-unaffected by any layout manager).</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the fixed position is set on the actor</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_flags"
-              c:identifier="clutter_actor_get_flags"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the flags set on @self</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a bitwise or of #ClutterActorFlags or 0</doc>
-          <type name="ActorFlags" c:type="ClutterActorFlags"/>
-        </return-value>
-      </method>
-      <method name="get_geometry" c:identifier="clutter_actor_get_geometry">
-        <doc xml:whitespace="preserve">Gets the size and position of an actor relative to its parent
-actor. This is the same as calling clutter_actor_get_position() and
-clutter_actor_get_size(). It tries to "do what you mean" and get the
-requested size and position if the actor's allocation is invalid.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="geometry"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">A location to store actors #ClutterGeometry</doc>
-            <type name="Geometry" c:type="ClutterGeometry*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_gid"
-              c:identifier="clutter_actor_get_gid"
-              version="0.6">
-        <doc xml:whitespace="preserve">Retrieves the unique id for @self.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">Globally unique value for this object instance.</doc>
-          <type name="guint32" c:type="guint32"/>
-        </return-value>
-      </method>
-      <method name="get_height" c:identifier="clutter_actor_get_height">
-        <doc xml:whitespace="preserve">Retrieves the height of a #ClutterActor.
-If the actor has a valid allocation, this function will return the
-height of the allocated area given to the actor.
-If the actor does not have a valid allocation, this function will
-return the actor's natural height, that is the preferred height of
-the actor.
-If you care whether you get the preferred height or the height that
-has been assigned to the actor, you should probably call a different
-function like clutter_actor_get_allocation_box() to retrieve the
-allocated size or clutter_actor_get_preferred_height() to retrieve the
-preferred height.
-If an actor has a fixed height, for instance a height that has been
-assigned using clutter_actor_set_height(), the height returned will
-be the same value.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the height of the actor, in pixels</doc>
-          <type name="gfloat" c:type="gfloat"/>
-        </return-value>
-      </method>
-      <method name="get_name" c:identifier="clutter_actor_get_name">
-        <doc xml:whitespace="preserve">Retrieves the name of @self.
-owned by the actor and should not be modified or freed.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the name of the actor, or %NULL. The returned string is</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-      <method name="get_opacity" c:identifier="clutter_actor_get_opacity">
-        <doc xml:whitespace="preserve">Retrieves the opacity value of an actor, as set by
-clutter_actor_set_opacity().
-For retrieving the absolute opacity of the actor inside a paint
-virtual function, see clutter_actor_get_paint_opacity().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the opacity of the actor</doc>
-          <type name="guint8" c:type="guint8"/>
-        </return-value>
-      </method>
-      <method name="get_paint_opacity"
-              c:identifier="clutter_actor_get_paint_opacity"
-              version="0.8">
-        <doc xml:whitespace="preserve">Retrieves the absolute opacity of the actor, as it appears on the stage.
-This function traverses the hierarchy chain and composites the opacity of
-the actor with that of its parents.
-This function is intended for subclasses to use in the paint virtual
-function, to paint themselves with the correct opacity.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The actor opacity value.</doc>
-          <type name="guint8" c:type="guint8"/>
-        </return-value>
-      </method>
-      <method name="get_paint_visibility"
-              c:identifier="clutter_actor_get_paint_visibility"
-              version="0.8.4">
-        <doc xml:whitespace="preserve">Retrieves the 'paint' visibility of an actor recursively checking for non
-visible parents.
-This is by definition the same as CLUTTER_ACTOR_IS_MAPPED().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if the actor is visibile and will be painted.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_pango_context"
-              c:identifier="clutter_actor_get_pango_context"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the #PangoContext for @self. The actor's #PangoContext
-is already configured using the appropriate font map, resolution
-and font options.
-Unlike clutter_actor_create_pango_context(), this context is owend
-by the #ClutterActor and it will be updated each time the options
-stored by the #ClutterBackend change.
-You can use the returned #PangoContext to create a #PangoLayout
-and render text using cogl_pango_render_layout() to reuse the
-glyphs cache also used by Clutter.
-The returned #PangoContext is owned by the actor and should not be
-unreferenced by the application code</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #PangoContext for a #ClutterActor.</doc>
-          <type name="Pango.Context" c:type="PangoContext*"/>
-        </return-value>
-      </method>
-      <method name="get_parent" c:identifier="clutter_actor_get_parent">
-        <doc xml:whitespace="preserve">Retrieves the parent of @self.
-if no parent is set</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The #ClutterActor parent, or %NULL</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-      </method>
-      <method name="get_position"
-              c:identifier="clutter_actor_get_position"
-              version="0.6">
-        <doc xml:whitespace="preserve">This function tries to "do what you mean" and tell you where the
-actor is, prior to any transformations. Retrieves the fixed
-position of an actor in pixels, if one has been set; otherwise, if
-the allocation is valid, returns the actor's allocated position;
-otherwise, returns 0,0.
-The returned position is in pixels.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the X coordinate, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="y"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the Y coordinate, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_preferred_height"
-              c:identifier="clutter_actor_get_preferred_height"
-              version="0.8">
-        <doc xml:whitespace="preserve">Computes the requested minimum and natural heights for an actor,
-or if they are already computed, returns the cached values.
-An actor may not get its request - depending on the layout
-manager that's in effect.
-A request should not incorporate the actor's scale or anchor point;
-those transformations do not affect layout, only rendering.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="for_width" transfer-ownership="none">
-            <doc xml:whitespace="preserve">available width to assume in computing desired height, or a negative value to indicate that no width is defined</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="min_height_p"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for minimum height, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="natural_height_p"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for natural height, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_preferred_size"
-              c:identifier="clutter_actor_get_preferred_size"
-              version="0.8">
-        <doc xml:whitespace="preserve">Computes the preferred minimum and natural size of an actor, taking into
-account the actor's geometry management (either height-for-width
-or width-for-height).
-The width and height used to compute the preferred height and preferred
-width are the actor's natural ones.
-If you need to control the height for the preferred width, or the width for
-the preferred height, you should use clutter_actor_get_preferred_width()
-and clutter_actor_get_preferred_height(), and check the actor's preferred
-geometry management using the #ClutterActor:request-mode property.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="min_width_p"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the minimum width, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="min_height_p"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the minimum height, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="natural_width_p"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the natural width, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="natural_height_p"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the natural height, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_preferred_width"
-              c:identifier="clutter_actor_get_preferred_width"
-              version="0.8">
-        <doc xml:whitespace="preserve">Computes the requested minimum and natural widths for an actor,
-optionally depending on the specified height, or if they are
-already computed, returns the cached values.
-An actor may not get its request - depending on the layout
-manager that's in effect.
-A request should not incorporate the actor's scale or anchor point;
-those transformations do not affect layout, only rendering.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="for_height" transfer-ownership="none">
-            <doc xml:whitespace="preserve">available height when computing the preferred width, or a negative value to indicate that no height is defined</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="min_width_p"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for minimum width, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="natural_width_p"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the natural width, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_reactive"
-              c:identifier="clutter_actor_get_reactive"
-              version="0.6">
-        <doc xml:whitespace="preserve">Checks whether @actor is marked as reactive.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the actor is reactive</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_request_mode"
-              c:identifier="clutter_actor_get_request_mode"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the geometry request mode of @self</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the request mode for the actor</doc>
-          <type name="RequestMode" c:type="ClutterRequestMode"/>
-        </return-value>
-      </method>
-      <method name="get_rotation"
-              c:identifier="clutter_actor_get_rotation"
-              version="0.8">
-        <doc xml:whitespace="preserve">Retrieves the angle and center of rotation on the given axis,
-set using clutter_actor_set_rotation().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the angle of rotation</doc>
-          <type name="gdouble" c:type="gdouble"/>
-        </return-value>
-        <parameters>
-          <parameter name="axis" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the axis of rotation</doc>
-            <type name="RotateAxis" c:type="ClutterRotateAxis"/>
-          </parameter>
-          <parameter name="x"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return value for the X coordinate of the center of rotation</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="y"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return value for the Y coordinate of the center of rotation</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="z"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return value for the Z coordinate of the center of rotation</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_scale"
-              c:identifier="clutter_actor_get_scale"
-              version="0.2">
-        <doc xml:whitespace="preserve">Retrieves an actors scale factors.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="scale_x"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">Location to store horizonal scale factor, or %NULL.</doc>
-            <type name="gdouble" c:type="gdouble*"/>
-          </parameter>
-          <parameter name="scale_y"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">Location to store vertical scale factor, or %NULL.</doc>
-            <type name="gdouble" c:type="gdouble*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_scale_center"
-              c:identifier="clutter_actor_get_scale_center"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the scale center coordinate in pixels relative to the top
-left corner of the actor. If the scale center was specified using a
-#ClutterGravity this will calculate the pixel offset using the
-current size of the actor.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="center_x"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">Location to store the X position of the scale center, or %NULL.</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="center_y"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">Location to store the Y position of the scale center, or %NULL.</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_scale_gravity"
-              c:identifier="clutter_actor_get_scale_gravity"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the scale center as a compass direction. If the scale
-center was specified in pixels or units this will return
-%CLUTTER_GRAVITY_NONE.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the scale gravity</doc>
-          <type name="Gravity" c:type="ClutterGravity"/>
-        </return-value>
-      </method>
-      <method name="get_shader"
-              c:identifier="clutter_actor_get_shader"
-              version="0.6">
-        <doc xml:whitespace="preserve">Queries the currently set #ClutterShader on @self.
-or %NULL if no shader is set.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The currently set #ClutterShader</doc>
-          <type name="Shader" c:type="ClutterShader*"/>
-        </return-value>
-      </method>
-      <method name="get_size"
-              c:identifier="clutter_actor_get_size"
-              version="0.2">
-        <doc xml:whitespace="preserve">This function tries to "do what you mean" and return
-the size an actor will have. If the actor has a valid
-allocation, the allocation will be returned; otherwise,
-the actors natural size request will be returned.
-If you care whether you get the request vs. the allocation, you
-should probably call a different function like
-clutter_actor_get_allocation_box() or
-clutter_actor_get_preferred_width().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="width"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the width, or %NULL.</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="height"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the height, or %NULL.</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_stage"
-              c:identifier="clutter_actor_get_stage"
-              version="0.8">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterStage where @actor is contained.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the stage containing the actor, or %NULL</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-      </method>
-      <method name="get_text_direction"
-              c:identifier="clutter_actor_get_text_direction"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the value set using clutter_actor_set_text_direction()
-If no text direction has been previously set, the default text
-direction, as returned by clutter_get_default_text_direction(), will
-be returned instead</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #ClutterTextDirection for the actor</doc>
-          <type name="TextDirection" c:type="ClutterTextDirection"/>
-        </return-value>
-      </method>
-      <method name="get_transformation_matrix"
-              c:identifier="clutter_actor_get_transformation_matrix"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the transformations applied to @self relative to its
-parent.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="matrix"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">the return location for a #CoglMatrix</doc>
-            <type name="Cogl.Matrix" c:type="CoglMatrix*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_transformed_position"
-              c:identifier="clutter_actor_get_transformed_position"
-              version="0.8">
-        <doc xml:whitespace="preserve">Gets the absolute position of an actor, in pixels relative to the stage.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the X coordinate, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="y"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the Y coordinate, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_transformed_size"
-              c:identifier="clutter_actor_get_transformed_size"
-              version="0.8">
-        <doc xml:whitespace="preserve">Gets the absolute size of an actor in pixels, taking into account the
-scaling factors.
-If the actor has a valid allocation, the allocated size will be used.
-If the actor has not a valid allocation then the preferred size will
-be transformed and returned.
-If you want the transformed allocation, see
-clutter_actor_get_abs_allocation_vertices() instead.
-&lt;note&gt;When the actor (or one of its ancestors) is rotated around the
-X or Y axis, it no longer appears as on the stage as a rectangle, but
-as a generic quadrangle; in that case this function returns the size
-of the smallest rectangle that encapsulates the entire quad. Please
-note that in this case no assumptions can be made about the relative
-position of this envelope to the absolute position of the actor, as
-returned by clutter_actor_get_transformed_position(); if you need this
-information, you need to use clutter_actor_get_abs_allocation_vertices()
-to get the coords of the actual quadrangle.&lt;/note&gt;</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="width"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the width, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="height"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the height, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_width" c:identifier="clutter_actor_get_width">
-        <doc xml:whitespace="preserve">Retrieves the width of a #ClutterActor.
-If the actor has a valid allocation, this function will return the
-width of the allocated area given to the actor.
-If the actor does not have a valid allocation, this function will
-return the actor's natural width, that is the preferred width of
-the actor.
-If you care whether you get the preferred width or the width that
-has been assigned to the actor, you should probably call a different
-function like clutter_actor_get_allocation_box() to retrieve the
-allocated size or clutter_actor_get_preferred_width() to retrieve the
-preferred width.
-If an actor has a fixed width, for instance a width that has been
-assigned using clutter_actor_set_width(), the width returned will
-be the same value.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the width of the actor, in pixels</doc>
-          <type name="gfloat" c:type="gfloat"/>
-        </return-value>
-      </method>
-      <method name="get_x" c:identifier="clutter_actor_get_x">
-        <return-value transfer-ownership="none">
-          <type name="gfloat" c:type="gfloat"/>
-        </return-value>
-      </method>
-      <method name="get_y" c:identifier="clutter_actor_get_y">
-        <return-value transfer-ownership="none">
-          <type name="gfloat" c:type="gfloat"/>
-        </return-value>
-      </method>
-      <method name="get_z_rotation_gravity"
-              c:identifier="clutter_actor_get_z_rotation_gravity"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the center for the rotation around the Z axis as a
-compass direction. If the center was specified in pixels or units
-this will return %CLUTTER_GRAVITY_NONE.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the Z rotation center</doc>
-          <type name="Gravity" c:type="ClutterGravity"/>
-        </return-value>
-      </method>
-      <method name="grab_key_focus"
-              c:identifier="clutter_actor_grab_key_focus"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the key focus of the #ClutterStage including @self
-to this #ClutterActor.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="has_allocation"
-              c:identifier="clutter_actor_has_allocation"
-              version="1.4">
-        <doc xml:whitespace="preserve">Checks if the actor has an up-to-date allocation assigned to
-visible and has a parent. It also means that there is no
-outstanding relayout request in progress for the actor or its
-children (There might be other outstanding layout requests in
-progress that will cause the actor to get a new allocation
-when the stage is laid out, however).
-If this function returns %FALSE, then the actor will normally
-be allocated before it is next drawn on the screen.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the actor has an up-to-date allocation</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="has_clip"
-              c:identifier="clutter_actor_has_clip"
-              version="0.1.1">
-        <doc xml:whitespace="preserve">Determines whether the actor has a clip area set or not.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the actor has a clip area set.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="has_key_focus"
-              c:identifier="clutter_actor_has_key_focus"
-              version="1.4">
-        <doc xml:whitespace="preserve">Checks whether @self is the #ClutterActor that has key focus</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the actor has key focus, and %FALSE otherwise</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="has_pointer"
-              c:identifier="clutter_actor_has_pointer"
-              version="1.2">
-        <doc xml:whitespace="preserve">Checks whether an actor contains the the pointer of a
-#ClutterInputDevice
-%FALSE otherwise</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the actor contains the pointer, and</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="hide" c:identifier="clutter_actor_hide">
-        <doc xml:whitespace="preserve">Flags an actor to be hidden. A hidden actor will not be
-rendered on the stage.
-Actors are visible by default.
-If this function is called on an actor without a parent, the
-#ClutterActor:show-on-set-parent property will be set to %FALSE
-as a side-effect.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="hide_all"
-              c:identifier="clutter_actor_hide_all"
-              version="0.2">
-        <doc xml:whitespace="preserve">Calls clutter_actor_hide() on all child actors (if any).</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="is_in_clone_paint"
-              c:identifier="clutter_actor_is_in_clone_paint"
-              version="1.0">
-        <doc xml:whitespace="preserve">Checks whether @self is being currently painted by a #ClutterClone
-This function is useful only inside the ::paint virtual function
-implementations or within handlers for the #ClutterActor::paint
-signal
-This function should not be used by applications
-by a #ClutterClone, and %FALSE otherwise</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the #ClutterActor is currently being painted</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="is_rotated"
-              c:identifier="clutter_actor_is_rotated"
-              version="0.6">
-        <doc xml:whitespace="preserve">Checks whether any rotation is applied to the actor.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the actor is rotated.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="is_scaled"
-              c:identifier="clutter_actor_is_scaled"
-              version="0.6">
-        <doc xml:whitespace="preserve">Checks whether the actor is scaled in either dimension.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the actor is scaled.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="lower" c:identifier="clutter_actor_lower">
-        <doc xml:whitespace="preserve">Puts @self below @above.
-Both actors must have the same parent, and the parent must implement
-the #ClutterContainer interface.
-This function is the equivalent of clutter_container_lower_child().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="above" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">A #ClutterActor to lower below</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="lower_bottom" c:identifier="clutter_actor_lower_bottom">
-        <doc xml:whitespace="preserve">Lowers @self to the bottom.
-This function calls clutter_actor_lower() internally.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="map" c:identifier="clutter_actor_map" version="1.0">
-        <doc xml:whitespace="preserve">Sets the %CLUTTER_ACTOR_MAPPED flag on the actor and possibly maps
-and realizes its children if they are visible. Does nothing if the
-actor is not visible.
-#ClutterActor &lt;function&gt;map()&lt;/function&gt; virtual function in an actor
-and you need to map the children of that actor. It is not necessary
-to call this if you implement #ClutterContainer because the default
-implementation will automatically map children of containers.
-When overriding map, it is mandatory to chain up to the parent
-implementation.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="move_anchor_point"
-              c:identifier="clutter_actor_move_anchor_point"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sets an anchor point for the actor, and adjusts the actor postion so that
-the relative position of the actor toward its parent remains the same.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="anchor_x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">X coordinate of the anchor point</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="anchor_y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Y coordinate of the anchor point</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="move_anchor_point_from_gravity"
-              c:identifier="clutter_actor_move_anchor_point_from_gravity"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sets an anchor point on the actor based on the given gravity, adjusting the
-actor postion so that its relative position within its parent remains
-unchanged.
-Since version 1.0 the anchor point will be stored as a gravity so
-that if the actor changes size then the anchor point will move. For
-example, if you set the anchor point to %CLUTTER_GRAVITY_SOUTH_EAST
-and later double the size of the actor, the anchor point will move
-to the bottom right.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="gravity" transfer-ownership="none">
-            <doc xml:whitespace="preserve">#ClutterGravity.</doc>
-            <type name="Gravity" c:type="ClutterGravity"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="move_by"
-              c:identifier="clutter_actor_move_by"
-              version="0.2">
-        <doc xml:whitespace="preserve">Moves an actor by the specified distance relative to its current
-position in pixels.
-This function modifies the fixed position of an actor and thus removes
-it from any layout management. Another way to move an actor is with an
-anchor point, see clutter_actor_set_anchor_point().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="dx" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Distance to move Actor on X axis.</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="dy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Distance to move Actor on Y axis.</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="paint" c:identifier="clutter_actor_paint">
-        <doc xml:whitespace="preserve">Renders the actor to display.
-This function should not be called directly by applications.
-Call clutter_actor_queue_redraw() to queue paints, instead.
-This function is context-aware, and will either cause a
-regular paint or a pick paint.
-This function will emit the #ClutterActor::paint signal or
-the #ClutterActor::pick signal, depending on the context.
-This function does not paint the actor if the actor is set to 0,
-unless it is performing a pick paint.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="pop_internal"
-              c:identifier="clutter_actor_pop_internal"
-              version="1.2">
-        <doc xml:whitespace="preserve">Disables the effects of clutter_actor_pop_internal()</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="push_internal"
-              c:identifier="clutter_actor_push_internal"
-              version="1.2">
-        <doc xml:whitespace="preserve">Should be used by actors implementing the #ClutterContainer and with
-internal children added through clutter_actor_set_parent(), for instance:
-|[
-static void
-my_actor_init (MyActor *self)
-{
-self-&gt;priv = SELF_ACTOR_GET_PRIVATE (self);
-clutter_actor_push_internal (CLUTTER_ACTOR (self));
-/&amp;ast; calling clutter_actor_set_parent() now will result in
-&amp;ast; the internal flag being set on a child of MyActor
-&amp;ast;/
-/&amp;ast; internal child - a background texture &amp;ast;/
-self-&gt;priv-&gt;background_tex = clutter_texture_new ();
-clutter_actor_set_parent (self-&gt;priv-&gt;background_tex,
-CLUTTER_ACTOR (self));
-/&amp;ast; internal child - a label &amp;ast;/
-self-&gt;priv-&gt;label = clutter_text_new ();
-clutter_actor_set_parent (self-&gt;priv-&gt;label,
-CLUTTER_ACTOR (self));
-clutter_actor_pop_internal (CLUTTER_ACTOR (self));
-/&amp;ast; calling clutter_actor_set_parent() now will not result in
-&amp;ast; the internal flag being set on a child of MyActor
-&amp;ast;/
-}
-]|
-This function will be used by Clutter to toggle an "internal child"
-flag whenever clutter_actor_set_parent() is called; internal children
-are handled differently by Clutter, specifically when destroying their
-parent.
-Call clutter_actor_pop_internal() when you finished adding internal
-children.
-Nested calls to clutter_actor_push_internal() are allowed, but each
-one must by followed by a clutter_actor_pop_internal() call.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="queue_redraw" c:identifier="clutter_actor_queue_redraw">
-        <doc xml:whitespace="preserve">Queues up a redraw of an actor and any children. The redraw occurs
-once the main loop becomes idle (after the current batch of events
-has been processed, roughly).
-Applications rarely need to call this, as redraws are handled
-automatically by modification functions.
-This function will not do anything if @self is not visible, or
-if the actor is inside an invisible part of the scenegraph.
-Also be aware that painting is a NOP for actors with an opacity of
-0
-When you are implementing a custom actor you must queue a redraw
-whenever some private state changes that will affect painting or
-picking of your actor.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="queue_relayout"
-              c:identifier="clutter_actor_queue_relayout"
-              version="0.8">
-        <doc xml:whitespace="preserve">Indicates that the actor's size request or other layout-affecting
-properties may have changed. This function is used inside #ClutterActor
-subclass implementations, not by applications directly.
-Queueing a new layout automatically queues a redraw as well.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="raise" c:identifier="clutter_actor_raise">
-        <doc xml:whitespace="preserve">Puts @self above @below.
-Both actors must have the same parent, and the parent must implement
-the #ClutterContainer interface
-This function is the equivalent of clutter_container_raise_child().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="below" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">A #ClutterActor to raise above.</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="raise_top" c:identifier="clutter_actor_raise_top">
-        <doc xml:whitespace="preserve">Raises @self to the top.
-This function calls clutter_actor_raise() internally.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="realize" c:identifier="clutter_actor_realize">
-        <doc xml:whitespace="preserve">Realization informs the actor that it is attached to a stage. It
-can use this to allocate resources if it wanted to delay allocation
-until it would be rendered. However it is perfectly acceptable for
-an actor to create resources before being realized because Clutter
-only ever has a single rendering context so that actor is free to
-be moved from one stage to another.
-This function does nothing if the actor is already realized.
-Because a realized actor must have realized parent actors, calling
-clutter_actor_realize() will also realize all parents of the actor.
-This function does not realize child actors, except in the special
-case that realizing the stage, when the stage is visible, will
-suddenly map (and thus realize) the children of the stage.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="remove_action"
-              c:identifier="clutter_actor_remove_action"
-              version="1.4">
-        <doc xml:whitespace="preserve">Removes @action from the list of actions applied to @self
-The reference held by @self on the #ClutterAction will be released</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="action" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterAction</doc>
-            <type name="Action" c:type="ClutterAction*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="remove_action_by_name"
-              c:identifier="clutter_actor_remove_action_by_name"
-              version="1.4">
-        <doc xml:whitespace="preserve">Removes the #ClutterAction with the given name from the list
-of actions applied to @self</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the action to remove</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="remove_clip" c:identifier="clutter_actor_remove_clip">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="remove_constraint"
-              c:identifier="clutter_actor_remove_constraint"
-              version="1.4">
-        <doc xml:whitespace="preserve">Removes @constraint from the list of constraints applied to @self
-The reference held by @self on the #ClutterConstraint will be released</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="constraint" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterConstraint</doc>
-            <type name="Constraint" c:type="ClutterConstraint*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="remove_constraint_by_name"
-              c:identifier="clutter_actor_remove_constraint_by_name"
-              version="1.4">
-        <doc xml:whitespace="preserve">Removes the #ClutterConstraint with the given name from the list
-of constraints applied to @self</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the constraint to remove</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="remove_effect"
-              c:identifier="clutter_actor_remove_effect"
-              version="1.4">
-        <doc xml:whitespace="preserve">Removes @effect from the list of effects applied to @self
-The reference held by @self on the #ClutterEffect will be released</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="effect" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterEffect</doc>
-            <type name="Effect" c:type="ClutterEffect*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="remove_effect_by_name"
-              c:identifier="clutter_actor_remove_effect_by_name"
-              version="1.4">
-        <doc xml:whitespace="preserve">Removes the #ClutterEffect with the given name from the list
-of effects applied to @self</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the effect to remove</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="reparent"
-              c:identifier="clutter_actor_reparent"
-              version="0.2">
-        <doc xml:whitespace="preserve">This function resets the parent actor of @self.  It is
-logically equivalent to calling clutter_actor_unparent()
-and clutter_actor_set_parent(), but more efficiently
-implemented, ensures the child is not finalized
-when unparented, and emits the parent-set signal only
-one time.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="new_parent" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the new #ClutterActor parent</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_anchor_point"
-              c:identifier="clutter_actor_set_anchor_point"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sets an anchor point for @self. The anchor point is a point in the
-coordinate space of an actor to which the actor position within its
-parent is relative; the default is (0, 0), i.e. the top-left corner
-of the actor.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="anchor_x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">X coordinate of the anchor point</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="anchor_y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Y coordinate of the anchor point</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_anchor_point_from_gravity"
-              c:identifier="clutter_actor_set_anchor_point_from_gravity"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sets an anchor point on the actor, based on the given gravity (this is a
-convenience function wrapping clutter_actor_set_anchor_point()).
-Since version 1.0 the anchor point will be stored as a gravity so
-that if the actor changes size then the anchor point will move. For
-example, if you set the anchor point to %CLUTTER_GRAVITY_SOUTH_EAST
-and later double the size of the actor, the anchor point will move
-to the bottom right.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="gravity" transfer-ownership="none">
-            <doc xml:whitespace="preserve">#ClutterGravity.</doc>
-            <type name="Gravity" c:type="ClutterGravity"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_clip"
-              c:identifier="clutter_actor_set_clip"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sets clip area for @self. The clip area is always computed from the
-upper left corner of the actor, even if the anchor point is set
-otherwise.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="xoff" transfer-ownership="none">
-            <doc xml:whitespace="preserve">X offset of the clip rectangle</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="yoff" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Y offset of the clip rectangle</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="width" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Width of the clip rectangle</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="height" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Height of the clip rectangle</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_clip_to_allocation"
-              c:identifier="clutter_actor_set_clip_to_allocation"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets whether @self should be clipped to the same size as its
-allocation</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="clip_set" transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE to apply a clip tracking the allocation</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_depth" c:identifier="clutter_actor_set_depth">
-        <doc xml:whitespace="preserve">Sets the Z coordinate of @self to @depth.
-The unit used by @depth is dependant on the perspective setup. See
-also clutter_stage_set_perspective().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="depth" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Z co-ord</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_fixed_position_set"
-              c:identifier="clutter_actor_set_fixed_position_set"
-              version="0.8">
-        <doc xml:whitespace="preserve">Sets whether an actor has a fixed position set (and will thus be
-unaffected by any layout manager).</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="is_set" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether to use fixed position</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_flags"
-              c:identifier="clutter_actor_set_flags"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets @flags on @self
-This function will emit notifications for the changed properties</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="flags" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the flags to set</doc>
-            <type name="ActorFlags" c:type="ClutterActorFlags"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_geometry" c:identifier="clutter_actor_set_geometry">
-        <doc xml:whitespace="preserve">Sets the actor's fixed position and forces its minimum and natural
-size, in pixels. This means the untransformed actor will have the
-given geometry. This is the same as calling clutter_actor_set_position()
-and clutter_actor_set_size().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="geometry" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A #ClutterGeometry</doc>
-            <type name="Geometry" c:type="ClutterGeometry*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_height" c:identifier="clutter_actor_set_height">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="height" transfer-ownership="none">
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_name" c:identifier="clutter_actor_set_name">
-        <doc xml:whitespace="preserve">Sets the given name to @self. The name can be used to identify
-a #ClutterActor.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Textual tag to apply to actor</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_opacity" c:identifier="clutter_actor_set_opacity">
-        <doc xml:whitespace="preserve">Sets the actor's opacity, with zero being completely transparent and
-255 (0xff) being fully opaque.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="opacity" transfer-ownership="none">
-            <doc xml:whitespace="preserve">New opacity value for the actor.</doc>
-            <type name="guint8" c:type="guint8"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_parent" c:identifier="clutter_actor_set_parent">
-        <doc xml:whitespace="preserve">Sets the parent of @self to @parent.  The opposite function is
-clutter_actor_unparent().
-This function should not be used by applications, but by custom
-container actor subclasses.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="parent" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A new #ClutterActor parent</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_position" c:identifier="clutter_actor_set_position">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x" transfer-ownership="none">
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="y" transfer-ownership="none">
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_reactive"
-              c:identifier="clutter_actor_set_reactive"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sets @actor as reactive. Reactive actors will receive events.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="reactive" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether the actor should be reactive to events</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_request_mode"
-              c:identifier="clutter_actor_set_request_mode"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets the geometry request mode of @self.
-The @mode determines the order for invoking
-clutter_actor_get_preferred_width() and
-clutter_actor_get_preferred_height()</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="mode" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the request mode</doc>
-            <type name="RequestMode" c:type="ClutterRequestMode"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_rotation"
-              c:identifier="clutter_actor_set_rotation"
-              version="0.8">
-        <doc xml:whitespace="preserve">Sets the rotation angle of @self around the given axis.
-The rotation center coordinates used depend on the value of @axis:
-&lt;itemizedlist&gt;
-&lt;listitem&gt;&lt;para&gt;%CLUTTER_X_AXIS requires @y and @z&lt;/para&gt;&lt;/listitem&gt;
-&lt;listitem&gt;&lt;para&gt;%CLUTTER_Y_AXIS requires @x and @z&lt;/para&gt;&lt;/listitem&gt;
-&lt;listitem&gt;&lt;para&gt;%CLUTTER_Z_AXIS requires @x and @y&lt;/para&gt;&lt;/listitem&gt;
-&lt;/itemizedlist&gt;
-The rotation coordinates are relative to the anchor point of the
-actor, set using clutter_actor_set_anchor_point(). If no anchor
-point is set, the upper left corner is assumed as the origin.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="axis" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the axis of rotation</doc>
-            <type name="RotateAxis" c:type="ClutterRotateAxis"/>
-          </parameter>
-          <parameter name="angle" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the angle of rotation</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">X coordinate of the rotation center</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Y coordinate of the rotation center</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="z" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Z coordinate of the rotation center</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_scale"
-              c:identifier="clutter_actor_set_scale"
-              version="0.2">
-        <doc xml:whitespace="preserve">Scales an actor with the given factors. The scaling is relative to
-the scale center and the anchor point. The scale center is
-unchanged by this function and defaults to 0,0.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="scale_x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">double factor to scale actor by horizontally.</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="scale_y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">double factor to scale actor by vertically.</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_scale_full"
-              c:identifier="clutter_actor_set_scale_full"
-              version="1.0">
-        <doc xml:whitespace="preserve">Scales an actor with the given factors around the given center
-point. The center point is specified in pixels relative to the
-anchor point (usually the top left corner of the actor).</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="scale_x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">double factor to scale actor by horizontally.</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="scale_y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">double factor to scale actor by vertically.</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="center_x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">X coordinate of the center of the scale.</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="center_y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Y coordinate of the center of the scale</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_scale_with_gravity"
-              c:identifier="clutter_actor_set_scale_with_gravity"
-              version="1.0">
-        <doc xml:whitespace="preserve">Scales an actor with the given factors around the given
-center point. The center point is specified as one of the compass
-directions in #ClutterGravity. For example, setting it to north
-will cause the top of the actor to remain unchanged and the rest of
-the actor to expand left, right and downwards.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="scale_x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">double factor to scale actor by horizontally.</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="scale_y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">double factor to scale actor by vertically.</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="gravity" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the location of the scale center expressed as a compass direction.</doc>
-            <type name="Gravity" c:type="ClutterGravity"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_shader"
-              c:identifier="clutter_actor_set_shader"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sets the #ClutterShader to be used when rendering @self.
-If @shader is %NULL it will unset any currently set shader
-for the actor.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the shader was successfully applied</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="shader" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #ClutterShader or %NULL to unset the shader.</doc>
-            <type name="Shader" c:type="ClutterShader*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_shader_param"
-              c:identifier="clutter_actor_set_shader_param"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the value for a named parameter of the shader applied
-to @actor.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="param" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the parameter</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value of the parameter</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_shader_param_float"
-              c:identifier="clutter_actor_set_shader_param_float"
-              version="0.8">
-        <doc xml:whitespace="preserve">Sets the value for a named float parameter of the shader applied
-to @actor.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="param" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the parameter</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value of the parameter</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_shader_param_int"
-              c:identifier="clutter_actor_set_shader_param_int"
-              version="0.8">
-        <doc xml:whitespace="preserve">Sets the value for a named int parameter of the shader applied to</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="param" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the parameter</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value of the parameter</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_size" c:identifier="clutter_actor_set_size">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="width" transfer-ownership="none">
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="height" transfer-ownership="none">
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_text_direction"
-              c:identifier="clutter_actor_set_text_direction"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets the #ClutterTextDirection for an actor
-The passed text direction must not be %CLUTTER_TEXT_DIRECTION_DEFAULT
-If @self implements #ClutterContainer then this function will recurse
-inside all the children of @self (including the internal ones).
-Composite actors not implementing #ClutterContainer, or actors requiring
-special handling when the text direction changes, should connect to
-the #GObject::notify signal for the #ClutterActor:text-direction property</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="text_dir" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the text direction for @self</doc>
-            <type name="TextDirection" c:type="ClutterTextDirection"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_width" c:identifier="clutter_actor_set_width">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="width" transfer-ownership="none">
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_x" c:identifier="clutter_actor_set_x" version="0.6">
-        <doc xml:whitespace="preserve">Sets the actor's X coordinate, relative to its parent, in pixels.
-Overrides any layout manager and forces a fixed position for
-the actor.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the actor's position on the X axis</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_y" c:identifier="clutter_actor_set_y" version="0.6">
-        <doc xml:whitespace="preserve">Sets the actor's Y coordinate, relative to its parent, in pixels.#
-Overrides any layout manager and forces a fixed position for
-the actor.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the actor's position on the Y axis</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_z_rotation_from_gravity"
-              c:identifier="clutter_actor_set_z_rotation_from_gravity"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the rotation angle of @self around the Z axis using the center
-point specified as a compass point. For example to rotate such that
-the center of the actor remains static you can use
-%CLUTTER_GRAVITY_CENTER. If the actor changes size the center point
-will move accordingly.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="angle" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the angle of rotation</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="gravity" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the center point of the rotation</doc>
-            <type name="Gravity" c:type="ClutterGravity"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="should_pick_paint"
-              c:identifier="clutter_actor_should_pick_paint">
-        <doc xml:whitespace="preserve">Should be called inside the implementation of the
-#ClutterActor::pick virtual function in order to check whether
-the actor should paint itself in pick mode or not.
-This function should never be called directly by applications.
-%FALSE otherwise</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the actor should paint its silhouette,</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="show" c:identifier="clutter_actor_show">
-        <doc xml:whitespace="preserve">Flags an actor to be displayed. An actor that isn't shown will not
-be rendered on the stage.
-Actors are visible by default.
-If this function is called on an actor without a parent, the
-#ClutterActor:show-on-set-parent will be set to %TRUE as a side
-effect.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="show_all"
-              c:identifier="clutter_actor_show_all"
-              version="0.2">
-        <doc xml:whitespace="preserve">Calls clutter_actor_show() on all children of an actor (if any).</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="transform_stage_point"
-              c:identifier="clutter_actor_transform_stage_point"
-              version="0.6">
-        <doc xml:whitespace="preserve">This function translates screen coordinates (@x, @y) to
-coordinates relative to the actor. For example, it can be used to translate
-screen events from global screen coordinates into actor-local coordinates.
-The conversion can fail, notably if the transform stack results in the
-actor being projected on the screen as a mere line.
-The conversion should not be expected to be pixel-perfect due to the
-nature of the operation. In general the error grows when the skewing
-of the actor rectangle on screen increases.
-&lt;note&gt;&lt;para&gt;This function can be computationally intensive.&lt;/para&gt;&lt;/note&gt;
-&lt;note&gt;&lt;para&gt;This function only works when the allocation is up-to-date,
-i.e. inside of paint().&lt;/para&gt;&lt;/note&gt;</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if conversion was successful.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">x screen coordinate of the point to unproject</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">y screen coordinate of the point to unproject</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="x_out"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the unprojected x coordinance</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="y_out"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the unprojected y coordinance</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="unmap" c:identifier="clutter_actor_unmap" version="1.0">
-        <doc xml:whitespace="preserve">Unsets the %CLUTTER_ACTOR_MAPPED flag on the actor and possibly
-unmaps its children if they were mapped.
-#ClutterActor &lt;function&gt;unmap()&lt;/function&gt; virtual function in an actor
-and you need to unmap the children of that actor. It is not necessary
-to call this if you implement #ClutterContainer because the default
-implementation will automatically unmap children of containers.
-When overriding unmap, it is mandatory to chain up to the parent
-implementation.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="unparent"
-              c:identifier="clutter_actor_unparent"
-              version="0.1.1">
-        <doc xml:whitespace="preserve">Removes the parent of @self.
-This function should not be used in applications.  It should be called by
-implementations of container actors, to dissociate a child from the
-container.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="unrealize" c:identifier="clutter_actor_unrealize">
-        <doc xml:whitespace="preserve">Unrealization informs the actor that it may be being destroyed or
-moved to another stage. The actor may want to destroy any
-underlying graphics resources at this point. However it is
-perfectly acceptable for it to retain the resources until the actor
-is destroyed because Clutter only ever uses a single rendering
-context and all of the graphics resources are valid on any stage.
-Because mapped actors must be realized, actors may not be
-unrealized if they are mapped. This function hides the actor to be
-sure it isn't mapped, an application-visible side effect that you
-may not be expecting.
-This function should not be called by application code.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="unset_flags"
-              c:identifier="clutter_actor_unset_flags"
-              version="1.0">
-        <doc xml:whitespace="preserve">Unsets @flags on @self
-This function will emit notifications for the changed properties</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="flags" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the flags to unset</doc>
-            <type name="ActorFlags" c:type="ClutterActorFlags"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="actions"
-                version="1.4"
-                readable="0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Adds a #ClutterAction to the actor</doc>
-        <type name="Action"/>
-      </property>
-      <property name="allocation" version="0.8" transfer-ownership="none">
-        <doc xml:whitespace="preserve">The allocation for the actor, in pixels
-This is property is read-only, but you might monitor it to know when an
-actor moves or resizes</doc>
-        <type name="ActorBox"/>
-      </property>
-      <property name="anchor-gravity"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The anchor point expressed as a #ClutterGravity</doc>
-        <type name="Gravity"/>
-      </property>
-      <property name="anchor-x"
-                version="0.8"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The X coordinate of an actor's anchor point, relative to
-the actor coordinate space, in pixels</doc>
-        <type name="gfloat"/>
-      </property>
-      <property name="anchor-y"
-                version="0.8"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The Y coordinate of an actor's anchor point, relative to
-the actor coordinate space, in pixels</doc>
-        <type name="gfloat"/>
-      </property>
-      <property name="clip" writable="1" transfer-ownership="none">
-        <doc xml:whitespace="preserve">The clip region for the actor, in actor-relative coordinates
-Every part of the actor outside the clip region will not be
-painted</doc>
-        <type name="Geometry"/>
-      </property>
-      <property name="clip-to-allocation"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the clip region should track the allocated area
-of the actor.
-This property is ignored if a clip area has been explicitly
-set using clutter_actor_set_clip().</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="constraints"
-                version="1.4"
-                readable="0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Adds a #ClutterConstraint to the actor</doc>
-        <type name="Constraint"/>
-      </property>
-      <property name="depth"
-                version="0.6"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The position of the actor on the Z axis</doc>
-        <type name="gfloat"/>
-      </property>
-      <property name="effect"
-                version="1.4"
-                readable="0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Adds #ClutterEffect to the list of effects be applied on a #ClutterActor</doc>
-        <type name="Effect"/>
-      </property>
-      <property name="fixed-position-set"
-                version="0.8"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">This flag controls whether the #ClutterActor:fixed-x and
-#ClutterActor:fixed-y properties are used</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="fixed-x"
-                version="0.8"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The fixed X position of the actor in pixels.
-Writing this property sets #ClutterActor:fixed-position-set
-property as well, as a side effect</doc>
-        <type name="gfloat"/>
-      </property>
-      <property name="fixed-y"
-                version="0.8"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The fixed Y position of the actor in pixels.
-Writing this property sets the #ClutterActor:fixed-position-set
-property as well, as a side effect</doc>
-        <type name="gfloat"/>
-      </property>
-      <property name="has-clip" transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the actor has the #ClutterActor:clip property set or not</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="has-pointer" version="1.2" transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the actor contains the pointer of a #ClutterInputDevice
-or not.</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="height" writable="1" transfer-ownership="none">
-        <doc xml:whitespace="preserve">Height of the actor (in pixels).  If written, forces the minimum and
-natural size request of the actor to the given height. If read, returns
-the allocated height if available, otherwise the height request.</doc>
-        <type name="gfloat"/>
-      </property>
-      <property name="mapped" version="1.0" transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the actor is mapped (will be painted when the stage
-to which it belongs is mapped)</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="min-height"
-                version="0.8"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">A forced minimum height request for the actor, in pixels
-Writing this property sets the #ClutterActor:min-height-set property
-as well, as a side effect. This property overrides the usual height
-request of the actor.</doc>
-        <type name="gfloat"/>
-      </property>
-      <property name="min-height-set"
-                version="0.8"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">This flag controls whether the #ClutterActor:min-height property
-is used</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="min-width"
-                version="0.8"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">A forced minimum width request for the actor, in pixels
-Writing this property sets the #ClutterActor:min-width-set property
-as well, as a side effect.
-This property overrides the usual width request of the actor.</doc>
-        <type name="gfloat"/>
-      </property>
-      <property name="min-width-set"
-                version="0.8"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">This flag controls whether the #ClutterActor:min-width property
-is used</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="name"
-                version="0.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The name of the actor</doc>
-        <type name="utf8"/>
-      </property>
-      <property name="natural-height"
-                version="0.8"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">A forced natural height request for the actor, in pixels
-Writing this property sets the #ClutterActor:natural-height-set
-property as well, as a side effect. This property overrides the
-usual height request of the actor</doc>
-        <type name="gfloat"/>
-      </property>
-      <property name="natural-height-set"
-                version="0.8"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">This flag controls whether the #ClutterActor:natural-height property
-is used</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="natural-width"
-                version="0.8"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">A forced natural width request for the actor, in pixels
-Writing this property sets the #ClutterActor:natural-width-set
-property as well, as a side effect. This property overrides the
-usual width request of the actor</doc>
-        <type name="gfloat"/>
-      </property>
-      <property name="natural-width-set"
-                version="0.8"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">This flag controls whether the #ClutterActor:natural-width property
-is used</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="opacity" writable="1" transfer-ownership="none">
-        <doc xml:whitespace="preserve">Opacity of an actor, between 0 (fully transparent) and
-255 (fully opaque)</doc>
-        <type name="guint"/>
-      </property>
-      <property name="reactive"
-                version="0.6"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the actor is reactive to events or not
-Only reactive actors will emit event-related signals</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="realized" version="1.0" transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the actor has been realized</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="request-mode"
-                version="0.8"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Request mode for the #ClutterActor. The request mode determines the
-type of geometry management used by the actor, either height for width
-(the default) or width for height.
-For actors implementing height for width, the parent container should get
-the preferred width first, and then the preferred height for that width.
-For actors implementing width for height, the parent container should get
-the preferred height first, and then the preferred width for that height.
-For instance:
-|[
-ClutterRequestMode mode;
-gfloat natural_width, min_width;
-gfloat natural_height, min_height;
-mode = clutter_actor_get_request_mode (child);
-if (mode == CLUTTER_REQUEST_HEIGHT_FOR_WIDTH)
-{
-clutter_actor_get_preferred_width (child, -1,
-&amp;amp;min_width,
-&amp;amp;natural_width);
-clutter_actor_get_preferred_height (child, natural_width,
-&amp;amp;min_height,
-&amp;amp;natural_height);
-}
-else
-{
-clutter_actor_get_preferred_height (child, -1,
-&amp;amp;min_height,
-&amp;amp;natural_height);
-clutter_actor_get_preferred_width (child, natural_height,
-&amp;amp;min_width,
-&amp;amp;natural_width);
-}
-]|
-will retrieve the minimum and natural width and height depending on the
-preferred request mode of the #ClutterActor "child".
-The clutter_actor_get_preferred_size() function will implement this
-check for you.</doc>
-        <type name="RequestMode"/>
-      </property>
-      <property name="rotation-angle-x"
-                version="0.6"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The rotation angle on the X axis</doc>
-        <type name="gdouble"/>
-      </property>
-      <property name="rotation-angle-y"
-                version="0.6"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The rotation angle on the Y axis</doc>
-        <type name="gdouble"/>
-      </property>
-      <property name="rotation-angle-z"
-                version="0.6"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The rotation angle on the Z axis</doc>
-        <type name="gdouble"/>
-      </property>
-      <property name="rotation-center-x"
-                version="0.6"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The rotation center on the X axis.</doc>
-        <type name="Vertex"/>
-      </property>
-      <property name="rotation-center-y"
-                version="0.6"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The rotation center on the Y axis.</doc>
-        <type name="Vertex"/>
-      </property>
-      <property name="rotation-center-z"
-                version="0.6"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The rotation center on the Z axis.</doc>
-        <type name="Vertex"/>
-      </property>
-      <property name="rotation-center-z-gravity"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The rotation center on the Z axis expressed as a #ClutterGravity.</doc>
-        <type name="Gravity"/>
-      </property>
-      <property name="scale-center-x"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The horizontal center point for scaling</doc>
-        <type name="gfloat"/>
-      </property>
-      <property name="scale-center-y"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The vertical center point for scaling</doc>
-        <type name="gfloat"/>
-      </property>
-      <property name="scale-gravity"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The center point for scaling expressed as a #ClutterGravity</doc>
-        <type name="Gravity"/>
-      </property>
-      <property name="scale-x"
-                version="0.6"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The horizontal scale of the actor</doc>
-        <type name="gdouble"/>
-      </property>
-      <property name="scale-y"
-                version="0.6"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The vertical scale of the actor</doc>
-        <type name="gdouble"/>
-      </property>
-      <property name="show-on-set-parent"
-                version="0.8"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">If %TRUE, the actor is automatically shown when parented.
-Calling clutter_actor_hide() on an actor which has not been
-parented will set this property to %FALSE as a side effect.</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="text-direction" writable="1" transfer-ownership="none">
-        <type name="TextDirection"/>
-      </property>
-      <property name="visible" writable="1" transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the actor is set to be visible or not
-See also #ClutterActor:mapped</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="width" writable="1" transfer-ownership="none">
-        <doc xml:whitespace="preserve">Width of the actor (in pixels). If written, forces the minimum and
-natural size request of the actor to the given width. If read, returns
-the allocated width if available, otherwise the width request.</doc>
-        <type name="gfloat"/>
-      </property>
-      <property name="x" writable="1" transfer-ownership="none">
-        <doc xml:whitespace="preserve">X coordinate of the actor in pixels. If written, forces a fixed
-position for the actor. If read, returns the fixed position if any,
-otherwise the allocation if available, otherwise 0.</doc>
-        <type name="gfloat"/>
-      </property>
-      <property name="y" writable="1" transfer-ownership="none">
-        <doc xml:whitespace="preserve">Y coordinate of the actor in pixels. If written, forces a fixed
-position for the actor.  If read, returns the fixed position if
-any, otherwise the allocation if available, otherwise 0.</doc>
-        <type name="gfloat"/>
-      </property>
-      <field name="parent_instance">
-        <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
-      </field>
-      <field name="flags">
-        <type name="guint32" c:type="guint32"/>
-      </field>
-      <field name="private_flags">
-        <type name="guint32" c:type="guint32"/>
-      </field>
-      <field name="priv">
-        <type name="ActorPrivate" c:type="ClutterActorPrivate*"/>
-      </field>
-      <glib:signal name="allocation-changed" version="1.0">
-        <doc xml:whitespace="preserve">The ::allocation-changed signal is emitted when the
-#ClutterActor:allocation property changes. Usually, application
-code should just use the notifications for the :allocation property
-but if you want to track the allocation flags as well, for instance
-to know whether the absolute origin of @actor changed, then you might
-want use this signal instead.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActorBox with the new allocation</doc>
-            <type name="ActorBox"/>
-          </parameter>
-          <parameter name="p0" transfer-ownership="none">
-            <doc xml:whitespace="preserve">#ClutterAllocationFlags for the allocation</doc>
-            <type name="AllocationFlags"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="button-press-event" version="0.6">
-        <doc xml:whitespace="preserve">The ::button-press-event signal is emitted each time a mouse button
-is pressed on @actor.
-or %FALSE to continue the emission.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the event has been handled by the actor,</doc>
-          <type name="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterButtonEvent</doc>
-            <type name="Event"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="button-release-event" version="0.6">
-        <doc xml:whitespace="preserve">The ::button-release-event signal is emitted each time a mouse button
-is released on @actor.
-or %FALSE to continue the emission.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the event has been handled by the actor,</doc>
-          <type name="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterButtonEvent</doc>
-            <type name="Event"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="captured-event" version="0.6">
-        <doc xml:whitespace="preserve">The ::captured-event signal is emitted when an event is captured
-by Clutter. This signal will be emitted starting from the top-level
-container (the #ClutterStage) to the actor which received the event
-going down the hierarchy. This signal can be used to intercept every
-event before the specialized events (like
-ClutterActor::button-press-event or ::key-released-event) are
-emitted.
-or %FALSE to continue the emission.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the event has been handled by the actor,</doc>
-          <type name="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterEvent</doc>
-            <type name="Event"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="destroy" version="0.2">
-        <doc xml:whitespace="preserve">The ::destroy signal is emitted when an actor is destroyed,
-either by direct invocation of clutter_actor_destroy() or
-when the #ClutterGroup that contains the actor is destroyed.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="enter-event" version="0.6">
-        <doc xml:whitespace="preserve">The ::enter-event signal is emitted when the pointer enters the @actor
-or %FALSE to continue the emission.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the event has been handled by the actor,</doc>
-          <type name="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterCrossingEvent</doc>
-            <type name="Event"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="event" version="0.6">
-        <doc xml:whitespace="preserve">The ::event signal is emitted each time an event is received
-by the @actor. This signal will be emitted on every actor,
-following the hierarchy chain, until it reaches the top-level
-container (the #ClutterStage).
-or %FALSE to continue the emission.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the event has been handled by the actor,</doc>
-          <type name="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterEvent</doc>
-            <type name="Event"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="hide" version="0.2">
-        <doc xml:whitespace="preserve">The ::hide signal is emitted when an actor is no longer rendered
-on the stage.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="key-focus-in" version="0.6">
-        <doc xml:whitespace="preserve">The ::key-focus-in signal is emitted when @actor receives key focus.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="key-focus-out" version="0.6">
-        <doc xml:whitespace="preserve">The ::key-focus-out signal is emitted when @actor loses key focus.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="key-press-event" version="0.6">
-        <doc xml:whitespace="preserve">The ::key-press-event signal is emitted each time a keyboard button
-is pressed while @actor has key focus (see clutter_stage_set_key_focus()).
-or %FALSE to continue the emission.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the event has been handled by the actor,</doc>
-          <type name="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterKeyEvent</doc>
-            <type name="Event"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="key-release-event" version="0.6">
-        <doc xml:whitespace="preserve">The ::key-release-event signal is emitted each time a keyboard button
-is released while @actor has key focus (see
-clutter_stage_set_key_focus()).
-or %FALSE to continue the emission.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the event has been handled by the actor,</doc>
-          <type name="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterKeyEvent</doc>
-            <type name="Event"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="leave-event" version="0.6">
-        <doc xml:whitespace="preserve">The ::leave-event signal is emitted when the pointer leaves the @actor.
-or %FALSE to continue the emission.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the event has been handled by the actor,</doc>
-          <type name="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterCrossingEvent</doc>
-            <type name="Event"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="motion-event" version="0.6">
-        <doc xml:whitespace="preserve">The ::motion-event signal is emitted each time the mouse pointer is
-moved over @actor.
-or %FALSE to continue the emission.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the event has been handled by the actor,</doc>
-          <type name="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterMotionEvent</doc>
-            <type name="Event"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="paint" version="0.8">
-        <doc xml:whitespace="preserve">The ::paint signal is emitted each time an actor is being painted.
-Subclasses of #ClutterActor should override the class signal handler
-and paint themselves in that function.
-It is possible to connect a handler to the ::paint signal in order
-to set up some custom aspect of a paint.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="parent-set" version="0.2">
-        <doc xml:whitespace="preserve">This signal is emitted when the parent of the actor changes.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the previous parent of the actor, or %NULL</doc>
-            <type name="Actor"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="pick" version="1.0">
-        <doc xml:whitespace="preserve">The ::pick signal is emitted each time an actor is being painted
-in "pick mode". The pick mode is used to identify the actor during
-the event handling phase, or by clutter_stage_get_actor_at_pos().
-The actor should paint its shape using the passed @pick_color.
-Subclasses of #ClutterActor should override the class signal handler
-and paint themselves in that function.
-It is possible to connect a handler to the ::pick signal in order
-to set up some custom aspect of a paint in pick mode.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #ClutterColor to be used when picking</doc>
-            <type name="Color"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="queue-redraw" version="1.0">
-        <doc xml:whitespace="preserve">The ::queue_redraw signal is emitted when clutter_actor_queue_redraw()
-is called on @origin.
-The default implementation for #ClutterActor chains up to the
-parent actor and queues a redraw on the parent, thus "bubbling"
-the redraw queue up through the actor graph. The default
-implementation for #ClutterStage queues a clutter_redraw() in a
-main loop idle handler.
-Note that the @origin actor may be the stage, or a container; it
-does not have to be a leaf node in the actor graph.
-Toolkits embedding a #ClutterStage which require a redraw and
-relayout cycle can stop the emission of this signal using the
-GSignal API, redraw the UI and then call clutter_redraw()
-themselves, like:
-|[
-static void
-on_redraw_complete (void)
-{
-/&amp;ast; execute the Clutter drawing pipeline &amp;ast;/
-clutter_redraw ();
-}
-static void
-on_stage_queue_redraw (ClutterStage *stage)
-{
-/&amp;ast; this prevents the default handler to run &amp;ast;/
-g_signal_stop_emission_by_name (stage, "queue-redraw");
-/&amp;ast; queue a redraw with the host toolkit and call
-&amp;ast; a function when the redraw has been completed
-&amp;ast;/
-queue_a_redraw (G_CALLBACK (on_redraw_complete));
-}
-]|
-&lt;note&gt;&lt;para&gt;This signal is emitted before the Clutter paint
-pipeline is executed. If you want to know when the pipeline has
-been completed you should connect to the ::paint signal on the
-Stage with g_signal_connect_after().&lt;/para&gt;&lt;/note&gt;</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the actor which initiated the redraw request</doc>
-            <type name="Actor"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="queue-relayout">
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="realize" version="0.8">
-        <doc xml:whitespace="preserve">The ::realize signal is emitted each time an actor is being
-realized.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="scroll-event" version="0.6">
-        <doc xml:whitespace="preserve">The ::scroll-event signal is emitted each time the mouse is
-scrolled on @actor
-or %FALSE to continue the emission.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the event has been handled by the actor,</doc>
-          <type name="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterScrollEvent</doc>
-            <type name="Event"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="show" version="0.2">
-        <doc xml:whitespace="preserve">The ::show signal is emitted when an actor is visible and
-rendered on the stage.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="unrealize" version="0.8">
-        <doc xml:whitespace="preserve">The ::unrealize signal is emitted each time an actor is being
-unrealized.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-    </class>
-    <record name="ActorBox"
-            c:type="ClutterActorBox"
-            glib:type-name="ClutterActorBox"
-            glib:get-type="clutter_actor_box_get_type"
-            c:symbol-prefix="actor_box">
-      <doc xml:whitespace="preserve">Bounding box of an actor. The coordinates of the top left and right bottom
-corners of an actor. The coordinates of the two points are expressed in
-pixels with sub-pixel precision</doc>
-      <field name="x1" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-      <field name="y1" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-      <field name="x2" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-      <field name="y2" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-      <constructor name="new"
-                   c:identifier="clutter_actor_box_new"
-                   version="1.0">
-        <doc xml:whitespace="preserve">Allocates a new #ClutterActorBox using the passed coordinates
-for the top left and bottom right points
-clutter_actor_box_free() to free the resources</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly allocated #ClutterActorBox. Use</doc>
-          <type name="ActorBox" c:type="ClutterActorBox*"/>
-        </return-value>
-        <parameters>
-          <parameter name="x_1" transfer-ownership="none">
-            <doc xml:whitespace="preserve">X coordinate of the top left point</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="y_1" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Y coordinate of the top left point</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="x_2" transfer-ownership="none">
-            <doc xml:whitespace="preserve">X coordinate of the bottom right point</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="y_2" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Y coordinate of the bottom right point</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="clamp_to_pixel"
-              c:identifier="clutter_actor_box_clamp_to_pixel"
-              version="1.2">
-        <doc xml:whitespace="preserve">Clamps the components of @box to the nearest integer</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="contains"
-              c:identifier="clutter_actor_box_contains"
-              version="1.0">
-        <doc xml:whitespace="preserve">Checks whether a point with @x, @y coordinates is contained
-withing @box</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the point is contained by the #ClutterActorBox</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">X coordinate of the point</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Y coordinate of the point</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="copy" c:identifier="clutter_actor_box_copy" version="1.0">
-        <doc xml:whitespace="preserve">Copies @box
-clutter_actor_box_free() to free the allocated resources</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a newly allocated copy of #ClutterActorBox. Use</doc>
-          <type name="ActorBox" c:type="ClutterActorBox*"/>
-        </return-value>
-      </method>
-      <method name="equal"
-              c:identifier="clutter_actor_box_equal"
-              version="1.0">
-        <doc xml:whitespace="preserve">Checks @box_a and @box_b for equality</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the passed #ClutterActorBox are equal</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="box_b" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActorBox</doc>
-            <type name="ActorBox" c:type="ClutterActorBox*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="free" c:identifier="clutter_actor_box_free" version="1.0">
-        <doc xml:whitespace="preserve">Frees a #ClutterActorBox allocated using clutter_actor_box_new()
-or clutter_actor_box_copy()</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="from_vertices"
-              c:identifier="clutter_actor_box_from_vertices"
-              version="1.0">
-        <doc xml:whitespace="preserve">Calculates the bounding box represented by the four vertices; for details
-of the vertex array see clutter_actor_get_abs_allocation_vertices().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="verts" transfer-ownership="none">
-            <doc xml:whitespace="preserve">array of four #ClutterVertex</doc>
-            <array c:type="ClutterVertex" fixed-size="4">
-              <type name="Vertex"/>
-            </array>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_area"
-              c:identifier="clutter_actor_box_get_area"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the area of @box</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the area of a #ClutterActorBox, in pixels</doc>
-          <type name="gfloat" c:type="gfloat"/>
-        </return-value>
-      </method>
-      <method name="get_height"
-              c:identifier="clutter_actor_box_get_height"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the height of the @box</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the height of the box</doc>
-          <type name="gfloat" c:type="gfloat"/>
-        </return-value>
-      </method>
-      <method name="get_origin"
-              c:identifier="clutter_actor_box_get_origin"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the origin of @box</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the X coordinate, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="y"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the Y coordinate, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_size"
-              c:identifier="clutter_actor_box_get_size"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the size of @box</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="width"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the width, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="height"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the height, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_width"
-              c:identifier="clutter_actor_box_get_width"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the width of the @box</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the width of the box</doc>
-          <type name="gfloat" c:type="gfloat"/>
-        </return-value>
-      </method>
-      <method name="get_x"
-              c:identifier="clutter_actor_box_get_x"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the X coordinate of the origin of @box</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the X coordinate of the origin</doc>
-          <type name="gfloat" c:type="gfloat"/>
-        </return-value>
-      </method>
-      <method name="get_y"
-              c:identifier="clutter_actor_box_get_y"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the Y coordinate of the origin of @box</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the Y coordinate of the origin</doc>
-          <type name="gfloat" c:type="gfloat"/>
-        </return-value>
-      </method>
-      <method name="interpolate"
-              c:identifier="clutter_actor_box_interpolate"
-              version="1.2">
-        <doc xml:whitespace="preserve">Interpolates between @initial and @final #ClutterActorBox&lt;!-- --&gt;es
-using @progress</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="final" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the final #ClutterActorBox</doc>
-            <type name="ActorBox" c:type="ClutterActorBox*"/>
-          </parameter>
-          <parameter name="progress" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the interpolation progress</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="result"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for the interpolation</doc>
-            <type name="ActorBox" c:type="ClutterActorBox*"/>
-          </parameter>
-        </parameters>
-      </method>
-    </record>
-    <record name="ActorClass"
-            c:type="ClutterActorClass"
-            glib:is-gtype-struct-for="Actor">
-      <doc xml:whitespace="preserve">Base class for actors.</doc>
-      <field name="parent_class">
-        <type name="GObject.InitiallyUnownedClass"
-              c:type="GInitiallyUnownedClass"/>
-      </field>
-      <field name="show">
-        <callback name="show">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="show_all">
-        <callback name="show_all">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="hide">
-        <callback name="hide">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="hide_all">
-        <callback name="hide_all">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="realize">
-        <callback name="realize">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="unrealize">
-        <callback name="unrealize">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="map">
-        <callback name="map">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="unmap">
-        <callback name="unmap">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="paint">
-        <callback name="paint">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="parent_set">
-        <callback name="parent_set">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-            <parameter name="old_parent" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="destroy">
-        <callback name="destroy">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="pick">
-        <callback name="pick">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-            <parameter name="color" transfer-ownership="none">
-              <type name="Color" c:type="ClutterColor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="queue_redraw">
-        <callback name="queue_redraw">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-            <parameter name="leaf_that_queued" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="get_preferred_width">
-        <callback name="get_preferred_width">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-            <parameter name="for_height" transfer-ownership="none">
-              <doc xml:whitespace="preserve">available height when computing the preferred width, or a negative value to indicate that no height is defined</doc>
-              <type name="gfloat" c:type="gfloat"/>
-            </parameter>
-            <parameter name="min_width_p"
-                       direction="out"
-                       caller-allocates="0"
-                       transfer-ownership="full"
-                       allow-none="1">
-              <doc xml:whitespace="preserve">return location for minimum width, or %NULL</doc>
-              <type name="gfloat" c:type="gfloat*"/>
-            </parameter>
-            <parameter name="natural_width_p"
-                       direction="out"
-                       caller-allocates="0"
-                       transfer-ownership="full"
-                       allow-none="1">
-              <doc xml:whitespace="preserve">return location for the natural width, or %NULL</doc>
-              <type name="gfloat" c:type="gfloat*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="get_preferred_height">
-        <callback name="get_preferred_height">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-            <parameter name="for_width" transfer-ownership="none">
-              <doc xml:whitespace="preserve">available width to assume in computing desired height, or a negative value to indicate that no width is defined</doc>
-              <type name="gfloat" c:type="gfloat"/>
-            </parameter>
-            <parameter name="min_height_p"
-                       direction="out"
-                       caller-allocates="0"
-                       transfer-ownership="full"
-                       allow-none="1">
-              <doc xml:whitespace="preserve">return location for minimum height, or %NULL</doc>
-              <type name="gfloat" c:type="gfloat*"/>
-            </parameter>
-            <parameter name="natural_height_p"
-                       direction="out"
-                       caller-allocates="0"
-                       transfer-ownership="full"
-                       allow-none="1">
-              <doc xml:whitespace="preserve">return location for natural height, or %NULL</doc>
-              <type name="gfloat" c:type="gfloat*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="allocate">
-        <callback name="allocate">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-            <parameter name="box" transfer-ownership="none">
-              <doc xml:whitespace="preserve">new allocation of the actor, in parent-relative coordinates</doc>
-              <type name="ActorBox" c:type="ClutterActorBox*"/>
-            </parameter>
-            <parameter name="flags" transfer-ownership="none">
-              <doc xml:whitespace="preserve">flags that control the allocation</doc>
-              <type name="AllocationFlags" c:type="ClutterAllocationFlags"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="apply_transform">
-        <callback name="apply_transform">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-            <parameter name="matrix" transfer-ownership="none">
-              <type name="Cogl.Matrix" c:type="CoglMatrix*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="event">
-        <callback name="event">
-          <return-value transfer-ownership="none">
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-            <parameter name="event" transfer-ownership="none">
-              <type name="Event" c:type="ClutterEvent*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="button_press_event">
-        <callback name="button_press_event">
-          <return-value transfer-ownership="none">
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-            <parameter name="event" transfer-ownership="none">
-              <type name="ButtonEvent" c:type="ClutterButtonEvent*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="button_release_event">
-        <callback name="button_release_event">
-          <return-value transfer-ownership="none">
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-            <parameter name="event" transfer-ownership="none">
-              <type name="ButtonEvent" c:type="ClutterButtonEvent*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="scroll_event">
-        <callback name="scroll_event">
-          <return-value transfer-ownership="none">
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-            <parameter name="event" transfer-ownership="none">
-              <type name="ScrollEvent" c:type="ClutterScrollEvent*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="key_press_event">
-        <callback name="key_press_event">
-          <return-value transfer-ownership="none">
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-            <parameter name="event" transfer-ownership="none">
-              <type name="KeyEvent" c:type="ClutterKeyEvent*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="key_release_event">
-        <callback name="key_release_event">
-          <return-value transfer-ownership="none">
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-            <parameter name="event" transfer-ownership="none">
-              <type name="KeyEvent" c:type="ClutterKeyEvent*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="motion_event">
-        <callback name="motion_event">
-          <return-value transfer-ownership="none">
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-            <parameter name="event" transfer-ownership="none">
-              <type name="MotionEvent" c:type="ClutterMotionEvent*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="enter_event">
-        <callback name="enter_event">
-          <return-value transfer-ownership="none">
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-            <parameter name="event" transfer-ownership="none">
-              <type name="CrossingEvent" c:type="ClutterCrossingEvent*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="leave_event">
-        <callback name="leave_event">
-          <return-value transfer-ownership="none">
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-            <parameter name="event" transfer-ownership="none">
-              <type name="CrossingEvent" c:type="ClutterCrossingEvent*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="captured_event">
-        <callback name="captured_event">
-          <return-value transfer-ownership="none">
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-            <parameter name="event" transfer-ownership="none">
-              <type name="Event" c:type="ClutterEvent*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="key_focus_in">
-        <callback name="key_focus_in">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="key_focus_out">
-        <callback name="key_focus_out">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="queue_relayout">
-        <callback name="queue_relayout">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="get_accessible">
-        <callback name="get_accessible">
-          <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #AtkObject associated with @actor</doc>
-            <type name="Atk.Object" c:type="AtkObject*"/>
-          </return-value>
-          <parameters>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_padding_dummy">
-        <array zero-terminated="0" c:type="gpointer" fixed-size="30">
-          <type name="gpointer" c:type="gpointer"/>
-        </array>
-      </field>
-    </record>
-    <bitfield name="ActorFlags"
-              glib:type-name="ClutterActorFlags"
-              glib:get-type="clutter_actor_flags_get_type"
-              c:type="ClutterActorFlags">
-      <doc xml:whitespace="preserve">Flags used to signal the state of an actor.</doc>
-      <member name="mapped"
-              value="2"
-              c:identifier="CLUTTER_ACTOR_MAPPED"
-              glib:nick="mapped"/>
-      <member name="realized"
-              value="4"
-              c:identifier="CLUTTER_ACTOR_REALIZED"
-              glib:nick="realized"/>
-      <member name="reactive"
-              value="8"
-              c:identifier="CLUTTER_ACTOR_REACTIVE"
-              glib:nick="reactive"/>
-      <member name="visible"
-              value="16"
-              c:identifier="CLUTTER_ACTOR_VISIBLE"
-              glib:nick="visible"/>
-      <member name="no_layout"
-              value="32"
-              c:identifier="CLUTTER_ACTOR_NO_LAYOUT"
-              glib:nick="no-layout"/>
-    </bitfield>
-    <class name="ActorMeta"
-           c:symbol-prefix="actor_meta"
-           c:type="ClutterActorMeta"
-           version="1.4"
-           parent="GObject.InitiallyUnowned"
-           abstract="1"
-           glib:type-name="ClutterActorMeta"
-           glib:get-type="clutter_actor_meta_get_type"
-           glib:type-struct="ActorMetaClass">
-      <doc xml:whitespace="preserve">The &lt;structname&gt;ClutterActorMeta&lt;/structname&gt; structure contains only
-private data and should be accessed using the provided API</doc>
-      <virtual-method name="set_actor">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <method name="get_actor"
-              c:identifier="clutter_actor_meta_get_actor"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves a pointer to the #ClutterActor that owns @meta</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to a #ClutterActor or %NULL</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-      </method>
-      <method name="get_enabled"
-              c:identifier="clutter_actor_meta_get_enabled"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves whether @meta is enabled</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the #ClutterActorMeta instance is enabled</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_name"
-              c:identifier="clutter_actor_meta_get_name"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the name set using clutter_actor_meta_set_name()
-instance, or %NULL if none was set. The returned string is owned
-by the #ClutterActorMeta instance and it should not be modified
-or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the name of the #ClutterActorMeta</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-      <method name="set_enabled"
-              c:identifier="clutter_actor_meta_set_enabled"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets whether @meta should be enabled or not</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="is_enabled" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether @meta is enabled</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_name"
-              c:identifier="clutter_actor_meta_set_name"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the name of @meta
-The name can be used to identify the #ClutterActorMeta instance</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of @meta</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="actor" version="1.4" transfer-ownership="none">
-        <doc xml:whitespace="preserve">The #ClutterActor attached to the #ClutterActorMeta instance</doc>
-        <type name="Actor"/>
-      </property>
-      <property name="enabled"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether or not the #ClutterActorMeta is enabled</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="name"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The unique name to access the #ClutterActorMeta</doc>
-        <type name="utf8"/>
-      </property>
-      <field name="parent_instance">
-        <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
-      </field>
-      <field name="priv">
-        <type name="ActorMetaPrivate" c:type="ClutterActorMetaPrivate*"/>
-      </field>
-    </class>
-    <record name="ActorMetaClass"
-            c:type="ClutterActorMetaClass"
-            glib:is-gtype-struct-for="ActorMeta"
-            version="1.4">
-      <doc xml:whitespace="preserve">The &lt;structname&gt;ClutterActorMetaClass&lt;/structname&gt; structure contains
-only private data</doc>
-      <field name="parent_class">
-        <type name="GObject.InitiallyUnownedClass"
-              c:type="GInitiallyUnownedClass"/>
-      </field>
-      <field name="set_actor">
-        <callback name="set_actor">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="meta" transfer-ownership="none">
-              <type name="ActorMeta" c:type="ClutterActorMeta*"/>
-            </parameter>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_clutter_meta1" introspectable="0">
-        <callback name="_clutter_meta1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_meta2" introspectable="0">
-        <callback name="_clutter_meta2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_meta3" introspectable="0">
-        <callback name="_clutter_meta3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_meta4" introspectable="0">
-        <callback name="_clutter_meta4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_meta5" introspectable="0">
-        <callback name="_clutter_meta5">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_meta6" introspectable="0">
-        <callback name="_clutter_meta6">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_meta7" introspectable="0">
-        <callback name="_clutter_meta7">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <record name="ActorMetaPrivate"
-            c:type="ClutterActorMetaPrivate"
-            disguised="1">
-    </record>
-    <record name="ActorPrivate" c:type="ClutterActorPrivate" disguised="1">
-    </record>
-    <constant name="AddFavorite" value="269025081">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Adiaeresis" value="196">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Agrave" value="192">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ahook" value="16785058">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <enumeration name="AlignAxis"
-                 version="1.4"
-                 glib:type-name="ClutterAlignAxis"
-                 glib:get-type="clutter_align_axis_get_type"
-                 c:type="ClutterAlignAxis">
-      <doc xml:whitespace="preserve">Specifies the axis on which #ClutterAlignConstraint should maintain
-the alignment</doc>
-      <member name="x_axis"
-              value="0"
-              c:identifier="CLUTTER_ALIGN_X_AXIS"
-              glib:nick="x-axis"/>
-      <member name="y_axis"
-              value="1"
-              c:identifier="CLUTTER_ALIGN_Y_AXIS"
-              glib:nick="y-axis"/>
-    </enumeration>
-    <class name="AlignConstraint"
-           c:symbol-prefix="align_constraint"
-           c:type="ClutterAlignConstraint"
-           version="1.4"
-           parent="Constraint"
-           glib:type-name="ClutterAlignConstraint"
-           glib:get-type="clutter_align_constraint_get_type">
-      <doc xml:whitespace="preserve">&lt;structname&gt;ClutterAlignConstraint&lt;/structname&gt; is an opaque structure
-whose members cannot be directly accesses</doc>
-      <constructor name="new"
-                   c:identifier="clutter_align_constraint_new"
-                   version="1.4">
-        <doc xml:whitespace="preserve">Creates a new constraint, aligning a #ClutterActor's position with
-regards of the size of the actor to @source, with the given
-alignment @factor</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #ClutterAlignConstraint</doc>
-          <type name="Constraint" c:type="ClutterConstraint*"/>
-        </return-value>
-        <parameters>
-          <parameter name="source" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the #ClutterActor to use as the source of the alignment, or %NULL</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="axis" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the axis to be used to compute the alignment</doc>
-            <type name="AlignAxis" c:type="ClutterAlignAxis"/>
-          </parameter>
-          <parameter name="factor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the alignment factor, between 0.0 and 1.0</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="get_align_axis"
-              c:identifier="clutter_align_constraint_get_align_axis"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the value set using clutter_align_constraint_set_align_axis()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the alignment axis</doc>
-          <type name="AlignAxis" c:type="ClutterAlignAxis"/>
-        </return-value>
-      </method>
-      <method name="get_factor"
-              c:identifier="clutter_align_constraint_get_factor"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the factor set using clutter_align_constraint_set_factor()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the alignment factor</doc>
-          <type name="gfloat" c:type="gfloat"/>
-        </return-value>
-      </method>
-      <method name="get_source"
-              c:identifier="clutter_align_constraint_get_source"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the source of the alignment
-of the alignment</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #ClutterActor used as the source</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-      </method>
-      <method name="set_align_axis"
-              c:identifier="clutter_align_constraint_set_align_axis"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the axis to which the alignment refers to</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="axis" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the axis to which the alignment refers to</doc>
-            <type name="AlignAxis" c:type="ClutterAlignAxis"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_factor"
-              c:identifier="clutter_align_constraint_set_factor"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the alignment factor of the constraint
-The factor depends on the #ClutterAlignConstraint:align-axis property
-and it is a value between 0.0 (meaning left, when
-#ClutterAlignConstraint:align-axis is set to %CLUTTER_ALIGN_X_AXIS; or
-meaning top, when #ClutterAlignConstraint:align-axis is set to
-%CLUTTER_ALIGN_Y_AXIS) and 1.0 (meaning right, when
-#ClutterAlignConstraint:align-axis is set to %CLUTTER_ALIGN_X_AXIS; or
-meaning bottom, when #ClutterAlignConstraint:align-axis is set to
-%CLUTTER_ALIGN_Y_AXIS). A value of 0.5 aligns in the middle in either
-cases</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="factor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the alignment factor, between 0.0 and 1.0</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_source"
-              c:identifier="clutter_align_constraint_set_source"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the source of the alignment constraint</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="source" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #ClutterActor, or %NULL to unset the source</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="align-axis"
-                version="1.4"
-                writable="1"
-                construct="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The axis to be used to compute the alignment</doc>
-        <type name="AlignAxis"/>
-      </property>
-      <property name="factor"
-                version="1.4"
-                writable="1"
-                construct="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The alignment factor, as a normalized value between 0.0 and 1.0
-The factor depends on the #ClutterAlignConstraint:align-axis property:
-with an align-axis value of %CLUTTER_ALIGN_X_AXIS, 0.0 means left and
-1.0 means right; with a value of %CLUTTER_ALIGN_Y_AXIS, 0.0 means top
-and 1.0 means bottom.</doc>
-        <type name="gfloat"/>
-      </property>
-      <property name="source"
-                version="1.4"
-                writable="1"
-                construct="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The #ClutterActor used as the source for the alignment</doc>
-        <type name="Actor"/>
-      </property>
-    </class>
-    <bitfield name="AllocationFlags"
-              version="1.0"
-              glib:type-name="ClutterAllocationFlags"
-              glib:get-type="clutter_allocation_flags_get_type"
-              c:type="ClutterAllocationFlags">
-      <doc xml:whitespace="preserve">Flags passed to the #ClutterActor::allocate() virtual function and
-to the clutter_actor_allocate() function</doc>
-      <member name="allocation_none"
-              value="0"
-              c:identifier="CLUTTER_ALLOCATION_NONE"
-              glib:nick="allocation-none"/>
-      <member name="absolute_origin_changed"
-              value="2"
-              c:identifier="CLUTTER_ABSOLUTE_ORIGIN_CHANGED"
-              glib:nick="absolute-origin-changed"/>
-    </bitfield>
-    <class name="Alpha"
-           c:symbol-prefix="alpha"
-           c:type="ClutterAlpha"
-           version="0.2"
-           parent="GObject.InitiallyUnowned"
-           glib:type-name="ClutterAlpha"
-           glib:get-type="clutter_alpha_get_type"
-           glib:type-struct="AlphaClass">
-      <doc xml:whitespace="preserve">#ClutterAlpha combines a #ClutterTimeline and a function.
-The contents of the #ClutterAlpha structure are private and should
-only be accessed using the provided API.</doc>
-      <implements name="Scriptable"/>
-      <constructor name="new" c:identifier="clutter_alpha_new" version="0.2">
-        <doc xml:whitespace="preserve">Creates a new #ClutterAlpha instance.  You must set a function
-to compute the alpha value using clutter_alpha_set_func() and
-bind a #ClutterTimeline object to the #ClutterAlpha instance
-using clutter_alpha_set_timeline().
-You should use the newly created #ClutterAlpha instance inside
-a #ClutterBehaviour object.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created empty #ClutterAlpha instance.</doc>
-          <type name="Alpha" c:type="ClutterAlpha*"/>
-        </return-value>
-      </constructor>
-      <constructor name="new_full"
-                   c:identifier="clutter_alpha_new_full"
-                   version="1.0">
-        <doc xml:whitespace="preserve">Creates a new #ClutterAlpha instance and sets the timeline
-and animation mode.
-See also clutter_alpha_set_timeline() and clutter_alpha_set_mode().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #ClutterAlpha</doc>
-          <type name="Alpha" c:type="ClutterAlpha*"/>
-        </return-value>
-        <parameters>
-          <parameter name="timeline" transfer-ownership="none">
-            <doc xml:whitespace="preserve">#ClutterTimeline timeline</doc>
-            <type name="Timeline" c:type="ClutterTimeline*"/>
-          </parameter>
-          <parameter name="mode" transfer-ownership="none">
-            <doc xml:whitespace="preserve">animation mode</doc>
-            <type name="gulong" c:type="gulong"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <constructor name="new_with_func"
-                   c:identifier="clutter_alpha_new_with_func"
-                   version="1.0">
-        <doc xml:whitespace="preserve">Creates a new #ClutterAlpha instances and sets the timeline
-and the alpha function.
-This function will not register @func as a global alpha function.
-See also clutter_alpha_set_timeline() and clutter_alpha_set_func().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #ClutterAlpha</doc>
-          <type name="Alpha" c:type="ClutterAlpha*"/>
-        </return-value>
-        <parameters>
-          <parameter name="timeline" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterTimeline</doc>
-            <type name="Timeline" c:type="ClutterTimeline*"/>
-          </parameter>
-          <parameter name="func"
-                     transfer-ownership="none"
-                     scope="notified"
-                     closure="2"
-                     destroy="3">
-            <doc xml:whitespace="preserve">a #ClutterAlphaFunc</doc>
-            <type name="AlphaFunc" c:type="ClutterAlphaFunc"/>
-          </parameter>
-          <parameter name="data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">data to pass to the function, or %NULL</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-          <parameter name="destroy" transfer-ownership="none" scope="async">
-            <doc xml:whitespace="preserve">function to call when removing the alpha function, or %NULL</doc>
-            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <function name="register_closure"
-                c:identifier="clutter_alpha_register_closure"
-                shadows="register_func"
-                version="1.0">
-        <doc xml:whitespace="preserve">#GClosure variant of clutter_alpha_register_func().
-Registers a global alpha function and returns its logical id
-to be used by clutter_alpha_set_mode() or by #ClutterAnimation.
-The logical id is always greater than %CLUTTER_ANIMATION_LAST.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the logical id of the alpha function</doc>
-          <type name="gulong" c:type="gulong"/>
-        </return-value>
-        <parameters>
-          <parameter name="closure" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GClosure</doc>
-            <type name="GObject.Closure" c:type="GClosure*"/>
-          </parameter>
-        </parameters>
-      </function>
-      <function name="register_func"
-                c:identifier="clutter_alpha_register_func"
-                shadowed-by="register_closure"
-                version="1.0"
-                introspectable="0">
-        <doc xml:whitespace="preserve">Registers a global alpha function and returns its logical id
-to be used by clutter_alpha_set_mode() or by #ClutterAnimation.
-The logical id is always greater than %CLUTTER_ANIMATION_LAST.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the logical id of the alpha function</doc>
-          <type name="gulong" c:type="gulong"/>
-        </return-value>
-        <parameters>
-          <parameter name="func" transfer-ownership="none" closure="1">
-            <doc xml:whitespace="preserve">a #ClutterAlphaFunc</doc>
-            <type name="AlphaFunc" c:type="ClutterAlphaFunc"/>
-          </parameter>
-          <parameter name="data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">user data to pass to @func, or %NULL</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-        </parameters>
-      </function>
-      <method name="get_alpha"
-              c:identifier="clutter_alpha_get_alpha"
-              version="0.2">
-        <doc xml:whitespace="preserve">Query the current alpha value.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The current alpha value for the alpha</doc>
-          <type name="gdouble" c:type="gdouble"/>
-        </return-value>
-      </method>
-      <method name="get_mode"
-              c:identifier="clutter_alpha_get_mode"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterAnimationMode used by @alpha.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the animation mode</doc>
-          <type name="gulong" c:type="gulong"/>
-        </return-value>
-      </method>
-      <method name="get_timeline"
-              c:identifier="clutter_alpha_get_timeline"
-              version="0.2">
-        <doc xml:whitespace="preserve">Gets the #ClutterTimeline bound to @alpha.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterTimeline instance</doc>
-          <type name="Timeline" c:type="ClutterTimeline*"/>
-        </return-value>
-      </method>
-      <method name="set_closure"
-              c:identifier="clutter_alpha_set_closure"
-              version="0.8">
-        <doc xml:whitespace="preserve">Sets the #GClosure used to compute the alpha value at each
-frame of the #ClutterTimeline bound to @alpha.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="closure" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A #GClosure</doc>
-            <type name="GObject.Closure" c:type="GClosure*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_func"
-              c:identifier="clutter_alpha_set_func"
-              version="0.2">
-        <doc xml:whitespace="preserve">Sets the #ClutterAlphaFunc function used to compute
-the alpha value at each frame of the #ClutterTimeline
-bound to @alpha.
-This function will not register @func as a global alpha function.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="func"
-                     transfer-ownership="none"
-                     scope="notified"
-                     closure="1"
-                     destroy="2">
-            <doc xml:whitespace="preserve">A #ClutterAlphaFunc</doc>
-            <type name="AlphaFunc" c:type="ClutterAlphaFunc"/>
-          </parameter>
-          <parameter name="data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">user data to be passed to the alpha function, or %NULL</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-          <parameter name="destroy" transfer-ownership="none" scope="async">
-            <doc xml:whitespace="preserve">notify function used when disposing the alpha function</doc>
-            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_mode"
-              c:identifier="clutter_alpha_set_mode"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the progress function of @alpha using the symbolic value
-of @mode, as taken by the #ClutterAnimationMode enumeration or
-using the value returned by clutter_alpha_register_func().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="mode" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterAnimationMode</doc>
-            <type name="gulong" c:type="gulong"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_timeline"
-              c:identifier="clutter_alpha_set_timeline"
-              version="0.2">
-        <doc xml:whitespace="preserve">Binds @alpha to @timeline.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="timeline" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A #ClutterTimeline</doc>
-            <type name="Timeline" c:type="ClutterTimeline*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="alpha" version="0.2" transfer-ownership="none">
-        <doc xml:whitespace="preserve">The alpha value as computed by the alpha function. The linear
-interval is 0.0 to 1.0, but the Alpha allows overshooting by
-one unit in each direction, so the valid interval is -1.0 to 2.0.</doc>
-        <type name="gdouble"/>
-      </property>
-      <property name="mode"
-                version="1.0"
-                writable="1"
-                construct="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The progress function logical id - either a value from the
-#ClutterAnimationMode enumeration or a value returned by
-clutter_alpha_register_func().
-If %CLUTTER_CUSTOM_MODE is used then the function set using
-clutter_alpha_set_closure() or clutter_alpha_set_func()
-will be used.</doc>
-        <type name="gulong"/>
-      </property>
-      <property name="timeline"
-                version="0.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">A #ClutterTimeline instance used to drive the alpha function.</doc>
-        <type name="Timeline"/>
-      </property>
-      <field name="parent">
-        <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
-      </field>
-      <field name="priv">
-        <type name="AlphaPrivate" c:type="ClutterAlphaPrivate*"/>
-      </field>
-    </class>
-    <record name="AlphaClass"
-            c:type="ClutterAlphaClass"
-            glib:is-gtype-struct-for="Alpha"
-            version="0.2">
-      <doc xml:whitespace="preserve">Base class for #ClutterAlpha</doc>
-      <field name="parent_class">
-        <type name="GObject.InitiallyUnownedClass"
-              c:type="GInitiallyUnownedClass"/>
-      </field>
-      <field name="_clutter_alpha_1" introspectable="0">
-        <callback name="_clutter_alpha_1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_alpha_2" introspectable="0">
-        <callback name="_clutter_alpha_2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_alpha_3" introspectable="0">
-        <callback name="_clutter_alpha_3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_alpha_4" introspectable="0">
-        <callback name="_clutter_alpha_4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_alpha_5" introspectable="0">
-        <callback name="_clutter_alpha_5">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <callback name="AlphaFunc" c:type="ClutterAlphaFunc" version="0.2">
-      <doc xml:whitespace="preserve">A function returning a value depending on the position of
-the #ClutterTimeline bound to @alpha.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">a floating point value</doc>
-        <type name="gdouble" c:type="gdouble"/>
-      </return-value>
-      <parameters>
-        <parameter name="alpha" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterAlpha</doc>
-          <type name="Alpha" c:type="ClutterAlpha*"/>
-        </parameter>
-        <parameter name="user_data" transfer-ownership="none" closure="1">
-          <doc xml:whitespace="preserve">user data passed to the function</doc>
-          <type name="gpointer" c:type="gpointer"/>
-        </parameter>
-      </parameters>
-    </callback>
-    <record name="AlphaPrivate" c:type="ClutterAlphaPrivate" disguised="1">
-    </record>
-    <constant name="Alt_L" value="65513">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Alt_R" value="65514">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Amacron" value="960">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <interface name="Animatable"
-               c:symbol-prefix="animatable"
-               c:type="ClutterAnimatable"
-               version="1.0"
-               glib:type-name="ClutterAnimatable"
-               glib:get-type="clutter_animatable_get_type"
-               glib:type-struct="AnimatableIface">
-      <doc xml:whitespace="preserve">#ClutterAnimatable is an opaque structure whose members cannot be directly
-accessed</doc>
-      <virtual-method name="animate_property"
-                      invoker="animate_property"
-                      version="1.0">
-        <doc xml:whitespace="preserve">Calls the animate_property() virtual function for @animatable.
-The @initial_value and @final_value #GValue&lt;!-- --&gt;s must contain
-the same type; @value must have been initialized to the same
-type of @initial_value and @final_value.
-All implementation of the #ClutterAnimatable interface must
-implement this function.
-be applied to the #ClutterAnimatable, and %FALSE otherwise</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the value has been validated and can</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="animation" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterAnimation</doc>
-            <type name="Animation" c:type="ClutterAnimation*"/>
-          </parameter>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the animated property</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="initial_value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the initial value of the animation interval</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-          <parameter name="final_value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the final value of the animation interval</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-          <parameter name="progress" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the progress factor</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for the animation value</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="find_property"
-                      invoker="find_property"
-                      version="1.4">
-        <doc xml:whitespace="preserve">Finds the #GParamSpec for @property_name
-or %NULL</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The #GParamSpec for the given property</doc>
-          <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
-        </return-value>
-        <parameters>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the animatable property to find</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="get_initial_state"
-                      invoker="get_initial_state"
-                      version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the current state of @property_name and sets @value with it</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the animatable property to retrieve</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GValue initialized to the type of the property to retrieve</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="set_final_state"
-                      invoker="set_final_state"
-                      version="1.4">
-        <doc xml:whitespace="preserve">Sets the current state of @property_name to @value</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the animatable property to set</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value of the animatable property to set</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <method name="animate_property"
-              c:identifier="clutter_animatable_animate_property"
-              version="1.0">
-        <doc xml:whitespace="preserve">Calls the animate_property() virtual function for @animatable.
-The @initial_value and @final_value #GValue&lt;!-- --&gt;s must contain
-the same type; @value must have been initialized to the same
-type of @initial_value and @final_value.
-All implementation of the #ClutterAnimatable interface must
-implement this function.
-be applied to the #ClutterAnimatable, and %FALSE otherwise</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the value has been validated and can</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="animation" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterAnimation</doc>
-            <type name="Animation" c:type="ClutterAnimation*"/>
-          </parameter>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the animated property</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="initial_value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the initial value of the animation interval</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-          <parameter name="final_value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the final value of the animation interval</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-          <parameter name="progress" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the progress factor</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for the animation value</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="find_property"
-              c:identifier="clutter_animatable_find_property"
-              version="1.4">
-        <doc xml:whitespace="preserve">Finds the #GParamSpec for @property_name
-or %NULL</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The #GParamSpec for the given property</doc>
-          <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
-        </return-value>
-        <parameters>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the animatable property to find</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_initial_state"
-              c:identifier="clutter_animatable_get_initial_state"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the current state of @property_name and sets @value with it</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the animatable property to retrieve</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GValue initialized to the type of the property to retrieve</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_final_state"
-              c:identifier="clutter_animatable_set_final_state"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the current state of @property_name to @value</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the animatable property to set</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value of the animatable property to set</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-    </interface>
-    <record name="AnimatableIface"
-            c:type="ClutterAnimatableIface"
-            glib:is-gtype-struct-for="Animatable"
-            version="1.0">
-      <doc xml:whitespace="preserve">Base interface for #GObject&lt;!-- --&gt;s that can be animated by a
-a #ClutterAnimation.</doc>
-      <field name="parent_iface">
-        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
-      </field>
-      <field name="animate_property">
-        <callback name="animate_property">
-          <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE if the value has been validated and can</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="animatable" transfer-ownership="none">
-              <type name="Animatable" c:type="ClutterAnimatable*"/>
-            </parameter>
-            <parameter name="animation" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a #ClutterAnimation</doc>
-              <type name="Animation" c:type="ClutterAnimation*"/>
-            </parameter>
-            <parameter name="property_name" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the name of the animated property</doc>
-              <type name="utf8" c:type="gchar*"/>
-            </parameter>
-            <parameter name="initial_value" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the initial value of the animation interval</doc>
-              <type name="GObject.Value" c:type="GValue*"/>
-            </parameter>
-            <parameter name="final_value" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the final value of the animation interval</doc>
-              <type name="GObject.Value" c:type="GValue*"/>
-            </parameter>
-            <parameter name="progress" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the progress factor</doc>
-              <type name="gdouble" c:type="gdouble"/>
-            </parameter>
-            <parameter name="value" transfer-ownership="none">
-              <doc xml:whitespace="preserve">return location for the animation value</doc>
-              <type name="GObject.Value" c:type="GValue*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="find_property">
-        <callback name="find_property">
-          <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">The #GParamSpec for the given property</doc>
-            <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
-          </return-value>
-          <parameters>
-            <parameter name="animatable" transfer-ownership="none">
-              <type name="Animatable" c:type="ClutterAnimatable*"/>
-            </parameter>
-            <parameter name="property_name" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the name of the animatable property to find</doc>
-              <type name="utf8" c:type="gchar*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="get_initial_state">
-        <callback name="get_initial_state">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="animatable" transfer-ownership="none">
-              <type name="Animatable" c:type="ClutterAnimatable*"/>
-            </parameter>
-            <parameter name="property_name" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the name of the animatable property to retrieve</doc>
-              <type name="utf8" c:type="gchar*"/>
-            </parameter>
-            <parameter name="value" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a #GValue initialized to the type of the property to retrieve</doc>
-              <type name="GObject.Value" c:type="GValue*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="set_final_state">
-        <callback name="set_final_state">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="animatable" transfer-ownership="none">
-              <type name="Animatable" c:type="ClutterAnimatable*"/>
-            </parameter>
-            <parameter name="property_name" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the name of the animatable property to set</doc>
-              <type name="utf8" c:type="gchar*"/>
-            </parameter>
-            <parameter name="value" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the value of the animatable property to set</doc>
-              <type name="GObject.Value" c:type="GValue*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-    </record>
-    <class name="Animation"
-           c:symbol-prefix="animation"
-           c:type="ClutterAnimation"
-           version="1.0"
-           parent="GObject.Object"
-           glib:type-name="ClutterAnimation"
-           glib:get-type="clutter_animation_get_type"
-           glib:type-struct="AnimationClass">
-      <doc xml:whitespace="preserve">The #ClutterAnimation structure contains only private data and should
-be accessed using the provided functions.</doc>
-      <implements name="Scriptable"/>
-      <constructor name="new"
-                   c:identifier="clutter_animation_new"
-                   version="1.0">
-        <doc xml:whitespace="preserve">Creates a new #ClutterAnimation instance. You should set the
-#GObject to be animated using clutter_animation_set_object(),
-set the duration with clutter_animation_set_duration() and the
-easing mode using clutter_animation_set_mode().
-Use clutter_animation_bind() or clutter_animation_bind_interval()
-to define the properties to be animated. The interval and the
-animated properties can be updated at runtime.
-The clutter_actor_animate() and relative family of functions provide
-an easy way to animate a #ClutterActor and automatically manage the
-lifetime of a #ClutterAnimation instance, so you should consider using
-those functions instead of manually creating an animation.
-to release the associated resources</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created #ClutterAnimation. Use g_object_unref()</doc>
-          <type name="Animation" c:type="ClutterAnimation*"/>
-        </return-value>
-      </constructor>
-      <method name="bind" c:identifier="clutter_animation_bind" version="1.0">
-        <doc xml:whitespace="preserve">Adds a single property with name @property_name to the
-animation @animation.  For more information about animations,
-see clutter_actor_animate().
-This method returns the animation primarily to make chained
-calls convenient in language bindings.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The animation itself.</doc>
-          <type name="Animation" c:type="ClutterAnimation*"/>
-        </return-value>
-        <parameters>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the property to control</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="final" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The final value of the property</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="bind_interval"
-              c:identifier="clutter_animation_bind_interval"
-              version="1.0">
-        <doc xml:whitespace="preserve">Binds @interval to the @property_name of the #GObject
-attached to @animation. The #ClutterAnimation will take
-ownership of the passed #ClutterInterval.  For more information
-about animations, see clutter_actor_animate().
-If you need to update the interval instance use
-clutter_animation_update_property() instead.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The animation itself.</doc>
-          <type name="Animation" c:type="ClutterAnimation*"/>
-        </return-value>
-        <parameters>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the property to control</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="interval" transfer-ownership="full">
-            <doc xml:whitespace="preserve">a #ClutterInterval</doc>
-            <type name="Interval" c:type="ClutterInterval*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="completed"
-              c:identifier="clutter_animation_completed"
-              version="1.0">
-        <doc xml:whitespace="preserve">Emits the ::completed signal on @animation
-When using this function with a #ClutterAnimation created
-by the clutter_actor_animate() family of functions, @animation
-will be unreferenced and it will not be valid anymore,
-unless g_object_ref() was called before calling this function
-or unless a reference was taken inside a handler for the
-#ClutterAnimation::completed signal</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="get_alpha"
-              c:identifier="clutter_animation_get_alpha"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterAlpha used by @animation.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the alpha object used by the animation</doc>
-          <type name="Alpha" c:type="ClutterAlpha*"/>
-        </return-value>
-      </method>
-      <method name="get_duration"
-              c:identifier="clutter_animation_get_duration"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the duration of @animation, in milliseconds.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the duration of the animation</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_interval"
-              c:identifier="clutter_animation_get_interval"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterInterval associated to @property_name
-inside @animation.
-property with the same name was found. The returned interval is
-owned by the #ClutterAnimation and should not be unreferenced</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterInterval or %NULL if no</doc>
-          <type name="Interval" c:type="ClutterInterval*"/>
-        </return-value>
-        <parameters>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">name of the property</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_loop"
-              c:identifier="clutter_animation_get_loop"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves whether @animation is looping.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the animation is looping</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_mode"
-              c:identifier="clutter_animation_get_mode"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the animation mode of @animation, as set by
-clutter_animation_set_mode().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the mode for the animation</doc>
-          <type name="gulong" c:type="gulong"/>
-        </return-value>
-      </method>
-      <method name="get_object"
-              c:identifier="clutter_animation_get_object"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the #GObject attached to @animation.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GObject</doc>
-          <type name="GObject.Object" c:type="GObject*"/>
-        </return-value>
-      </method>
-      <method name="get_timeline"
-              c:identifier="clutter_animation_get_timeline"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterTimeline used by @animation</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the timeline used by the animation</doc>
-          <type name="Timeline" c:type="ClutterTimeline*"/>
-        </return-value>
-      </method>
-      <method name="has_property"
-              c:identifier="clutter_animation_has_property"
-              version="1.0">
-        <doc xml:whitespace="preserve">Checks whether @animation is controlling @property_name.
-#ClutterAnimation, %FALSE otherwise</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the property is animated by the</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">name of the property</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_alpha"
-              c:identifier="clutter_animation_set_alpha"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets @alpha as the #ClutterAlpha used by @animation.
-If @alpha is not %NULL, the #ClutterAnimation will take ownership
-of the #ClutterAlpha instance.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="alpha" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterAlpha, or %NULL to unset the current #ClutterAlpha</doc>
-            <type name="Alpha" c:type="ClutterAlpha*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_duration"
-              c:identifier="clutter_animation_set_duration"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the duration of @animation in milliseconds.
-This function will set #ClutterAnimation:alpha and
-#ClutterAnimation:timeline if needed.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="msecs" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the duration in milliseconds</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_loop"
-              c:identifier="clutter_animation_set_loop"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets whether @animation should loop over itself once finished.
-A looping #ClutterAnimation will not emit the #ClutterAnimation::completed
-signal when finished.
-This function will set #ClutterAnimation:alpha and
-#ClutterAnimation:timeline if needed.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="loop" transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE if the animation should loop</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_mode"
-              c:identifier="clutter_animation_set_mode"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the animation @mode of @animation. The animation @mode is
-a logical id, either coming from the #ClutterAnimationMode enumeration
-or the return value of clutter_alpha_register_func().
-This function will also set #ClutterAnimation:alpha if needed.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="mode" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an animation mode logical id</doc>
-            <type name="gulong" c:type="gulong"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_object"
-              c:identifier="clutter_animation_set_object"
-              version="1.0">
-        <doc xml:whitespace="preserve">Attaches @animation to @object. The #ClutterAnimation will take a
-reference on @object.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GObject</doc>
-            <type name="GObject.Object" c:type="GObject*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_timeline"
-              c:identifier="clutter_animation_set_timeline"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the #ClutterTimeline used by @animation.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="timeline" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterTimeline, or %NULL to unset the current #ClutterTimeline</doc>
-            <type name="Timeline" c:type="ClutterTimeline*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="unbind_property"
-              c:identifier="clutter_animation_unbind_property"
-              version="1.0">
-        <doc xml:whitespace="preserve">Removes @property_name from the list of animated properties.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">name of the property</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="update"
-              c:identifier="clutter_animation_update"
-              version="1.0">
-        <doc xml:whitespace="preserve">Updates the @final value of the interval for @property_name</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The animation itself.</doc>
-          <type name="Animation" c:type="ClutterAnimation*"/>
-        </return-value>
-        <parameters>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">name of the property</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="final" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The final value of the property</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="update_interval"
-              c:identifier="clutter_animation_update_interval"
-              version="1.0">
-        <doc xml:whitespace="preserve">Changes the @interval for @property_name. The #ClutterAnimation
-will take ownership of the passed #ClutterInterval.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">name of the property</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="interval" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterInterval</doc>
-            <type name="Interval" c:type="ClutterInterval*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="alpha"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The #ClutterAlpha used by the animation.</doc>
-        <type name="Alpha"/>
-      </property>
-      <property name="duration"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The duration of the animation, expressed in milliseconds.</doc>
-        <type name="guint"/>
-      </property>
-      <property name="loop"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the animation should loop.</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="mode"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The animation mode, either a value from #ClutterAnimationMode
-or a value returned by clutter_alpha_register_func(). The
-default value is %CLUTTER_LINEAR.</doc>
-        <type name="gulong"/>
-      </property>
-      <property name="object"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The #GObject to which the animation applies.</doc>
-        <type name="GObject.Object"/>
-      </property>
-      <property name="timeline"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The #ClutterTimeline used by the animation.</doc>
-        <type name="Timeline"/>
-      </property>
-      <field name="parent_instance">
-        <type name="GObject.Object" c:type="GObject"/>
-      </field>
-      <field name="priv">
-        <type name="AnimationPrivate" c:type="ClutterAnimationPrivate*"/>
-      </field>
-      <glib:signal name="completed" version="1.0">
-        <doc xml:whitespace="preserve">The ::completed signal is emitted once the animation has
-been completed.
-The @animation instance is guaranteed to be valid for the entire
-duration of the signal emission chain.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="started" version="1.0">
-        <doc xml:whitespace="preserve">The ::started signal is emitted once the animation has been
-started</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-    </class>
-    <record name="AnimationClass"
-            c:type="ClutterAnimationClass"
-            glib:is-gtype-struct-for="Animation"
-            version="1.0">
-      <doc xml:whitespace="preserve">The #ClutterAnimationClass structure contains only private data and
-should be accessed using the provided functions.</doc>
-      <field name="parent_class">
-        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
-      </field>
-      <field name="started">
-        <callback name="started">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="animation" transfer-ownership="none">
-              <type name="Animation" c:type="ClutterAnimation*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="completed">
-        <callback name="completed">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="animation" transfer-ownership="none">
-              <type name="Animation" c:type="ClutterAnimation*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_clutter_reserved1" introspectable="0">
-        <callback name="_clutter_reserved1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved2" introspectable="0">
-        <callback name="_clutter_reserved2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved3" introspectable="0">
-        <callback name="_clutter_reserved3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved4" introspectable="0">
-        <callback name="_clutter_reserved4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved5" introspectable="0">
-        <callback name="_clutter_reserved5">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved6" introspectable="0">
-        <callback name="_clutter_reserved6">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved7" introspectable="0">
-        <callback name="_clutter_reserved7">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved8" introspectable="0">
-        <callback name="_clutter_reserved8">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <enumeration name="AnimationMode"
-                 version="1.0"
-                 glib:type-name="ClutterAnimationMode"
-                 glib:get-type="clutter_animation_mode_get_type"
-                 c:type="ClutterAnimationMode">
-      <doc xml:whitespace="preserve">The animation modes used by #ClutterAlpha and #ClutterAnimation. This
-enumeration can be expanded in later versions of Clutter. See the
-#ClutterAlpha documentation for a graph of all the animation modes.
-Every global alpha function registered using clutter_alpha_register_func()
-or clutter_alpha_register_closure() will have a logical id greater than
-%CLUTTER_ANIMATION_LAST.</doc>
-      <member name="custom_mode"
-              value="0"
-              c:identifier="CLUTTER_CUSTOM_MODE"
-              glib:nick="custom-mode"/>
-      <member name="linear"
-              value="1"
-              c:identifier="CLUTTER_LINEAR"
-              glib:nick="linear"/>
-      <member name="ease_in_quad"
-              value="2"
-              c:identifier="CLUTTER_EASE_IN_QUAD"
-              glib:nick="ease-in-quad"/>
-      <member name="ease_out_quad"
-              value="3"
-              c:identifier="CLUTTER_EASE_OUT_QUAD"
-              glib:nick="ease-out-quad"/>
-      <member name="ease_in_out_quad"
-              value="4"
-              c:identifier="CLUTTER_EASE_IN_OUT_QUAD"
-              glib:nick="ease-in-out-quad"/>
-      <member name="ease_in_cubic"
-              value="5"
-              c:identifier="CLUTTER_EASE_IN_CUBIC"
-              glib:nick="ease-in-cubic"/>
-      <member name="ease_out_cubic"
-              value="6"
-              c:identifier="CLUTTER_EASE_OUT_CUBIC"
-              glib:nick="ease-out-cubic"/>
-      <member name="ease_in_out_cubic"
-              value="7"
-              c:identifier="CLUTTER_EASE_IN_OUT_CUBIC"
-              glib:nick="ease-in-out-cubic"/>
-      <member name="ease_in_quart"
-              value="8"
-              c:identifier="CLUTTER_EASE_IN_QUART"
-              glib:nick="ease-in-quart"/>
-      <member name="ease_out_quart"
-              value="9"
-              c:identifier="CLUTTER_EASE_OUT_QUART"
-              glib:nick="ease-out-quart"/>
-      <member name="ease_in_out_quart"
-              value="10"
-              c:identifier="CLUTTER_EASE_IN_OUT_QUART"
-              glib:nick="ease-in-out-quart"/>
-      <member name="ease_in_quint"
-              value="11"
-              c:identifier="CLUTTER_EASE_IN_QUINT"
-              glib:nick="ease-in-quint"/>
-      <member name="ease_out_quint"
-              value="12"
-              c:identifier="CLUTTER_EASE_OUT_QUINT"
-              glib:nick="ease-out-quint"/>
-      <member name="ease_in_out_quint"
-              value="13"
-              c:identifier="CLUTTER_EASE_IN_OUT_QUINT"
-              glib:nick="ease-in-out-quint"/>
-      <member name="ease_in_sine"
-              value="14"
-              c:identifier="CLUTTER_EASE_IN_SINE"
-              glib:nick="ease-in-sine"/>
-      <member name="ease_out_sine"
-              value="15"
-              c:identifier="CLUTTER_EASE_OUT_SINE"
-              glib:nick="ease-out-sine"/>
-      <member name="ease_in_out_sine"
-              value="16"
-              c:identifier="CLUTTER_EASE_IN_OUT_SINE"
-              glib:nick="ease-in-out-sine"/>
-      <member name="ease_in_expo"
-              value="17"
-              c:identifier="CLUTTER_EASE_IN_EXPO"
-              glib:nick="ease-in-expo"/>
-      <member name="ease_out_expo"
-              value="18"
-              c:identifier="CLUTTER_EASE_OUT_EXPO"
-              glib:nick="ease-out-expo"/>
-      <member name="ease_in_out_expo"
-              value="19"
-              c:identifier="CLUTTER_EASE_IN_OUT_EXPO"
-              glib:nick="ease-in-out-expo"/>
-      <member name="ease_in_circ"
-              value="20"
-              c:identifier="CLUTTER_EASE_IN_CIRC"
-              glib:nick="ease-in-circ"/>
-      <member name="ease_out_circ"
-              value="21"
-              c:identifier="CLUTTER_EASE_OUT_CIRC"
-              glib:nick="ease-out-circ"/>
-      <member name="ease_in_out_circ"
-              value="22"
-              c:identifier="CLUTTER_EASE_IN_OUT_CIRC"
-              glib:nick="ease-in-out-circ"/>
-      <member name="ease_in_elastic"
-              value="23"
-              c:identifier="CLUTTER_EASE_IN_ELASTIC"
-              glib:nick="ease-in-elastic"/>
-      <member name="ease_out_elastic"
-              value="24"
-              c:identifier="CLUTTER_EASE_OUT_ELASTIC"
-              glib:nick="ease-out-elastic"/>
-      <member name="ease_in_out_elastic"
-              value="25"
-              c:identifier="CLUTTER_EASE_IN_OUT_ELASTIC"
-              glib:nick="ease-in-out-elastic"/>
-      <member name="ease_in_back"
-              value="26"
-              c:identifier="CLUTTER_EASE_IN_BACK"
-              glib:nick="ease-in-back"/>
-      <member name="ease_out_back"
-              value="27"
-              c:identifier="CLUTTER_EASE_OUT_BACK"
-              glib:nick="ease-out-back"/>
-      <member name="ease_in_out_back"
-              value="28"
-              c:identifier="CLUTTER_EASE_IN_OUT_BACK"
-              glib:nick="ease-in-out-back"/>
-      <member name="ease_in_bounce"
-              value="29"
-              c:identifier="CLUTTER_EASE_IN_BOUNCE"
-              glib:nick="ease-in-bounce"/>
-      <member name="ease_out_bounce"
-              value="30"
-              c:identifier="CLUTTER_EASE_OUT_BOUNCE"
-              glib:nick="ease-out-bounce"/>
-      <member name="ease_in_out_bounce"
-              value="31"
-              c:identifier="CLUTTER_EASE_IN_OUT_BOUNCE"
-              glib:nick="ease-in-out-bounce"/>
-      <member name="animation_last"
-              value="32"
-              c:identifier="CLUTTER_ANIMATION_LAST"
-              glib:nick="animation-last"/>
-    </enumeration>
-    <record name="AnimationPrivate"
-            c:type="ClutterAnimationPrivate"
-            disguised="1">
-    </record>
-    <class name="Animator"
-           c:symbol-prefix="animator"
-           c:type="ClutterAnimator"
-           version="1.2"
-           parent="GObject.Object"
-           glib:type-name="ClutterAnimator"
-           glib:get-type="clutter_animator_get_type"
-           glib:type-struct="AnimatorClass">
-      <doc xml:whitespace="preserve">The #ClutterAnimator structure contains only private data and
-should be accessed using the provided API</doc>
-      <implements name="Scriptable"/>
-      <constructor name="new"
-                   c:identifier="clutter_animator_new"
-                   version="1.2">
-        <doc xml:whitespace="preserve">Creates a new #ClutterAnimator instance</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #ClutterAnimator.</doc>
-          <type name="Animator" c:type="ClutterAnimator*"/>
-        </return-value>
-      </constructor>
-      <method name="compute_value"
-              c:identifier="clutter_animator_compute_value"
-              version="1.2">
-        <doc xml:whitespace="preserve">Compute the value for a managed property at a given progress.
-If the property is an ease-in property, the current value of the property
-on the object will be used as the starting point for computation.
-an error occurs or the progress is before any of the keys) %FALSE is
-returned and the #GValue is left untouched</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the computation yields has a value, otherwise (when</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GObject</doc>
-            <type name="GObject.Object" c:type="GObject*"/>
-          </parameter>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the property on object to check</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="progress" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a value between 0.0 and 1.0</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an initialized value to store the computed result</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_duration"
-              c:identifier="clutter_animator_get_duration"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the current duration of an animator</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the duration of the animation, in milliseconds</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_keys"
-              c:identifier="clutter_animator_get_keys"
-              version="1.2">
-        <doc xml:whitespace="preserve">Returns a list of pointers to opaque structures with accessor functions
-that describe the keys added to an animator.
-list of #ClutterAnimatorKey&lt;!-- --&gt;s; the contents of the list are owned
-by the #ClutterAnimator, but you should free the returned list when done,
-using g_list_free()</doc>
-        <return-value transfer-ownership="container">
-          <doc xml:whitespace="preserve">a</doc>
-          <type name="GLib.List" c:type="GList*">
-            <type name="AnimatorKey"/>
-          </type>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GObject to search for, or %NULL for all objects</doc>
-            <type name="GObject.Object" c:type="GObject*"/>
-          </parameter>
-          <parameter name="property_name"
-                     transfer-ownership="none"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">a specific property name to query for, or %NULL for all properties</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="progress" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a specific progress to search for, or a negative value for all progresses</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_timeline"
-              c:identifier="clutter_animator_get_timeline"
-              version="1.2">
-        <doc xml:whitespace="preserve">Get the timeline hooked up for driving the #ClutterAnimator</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #ClutterTimeline that drives the animator</doc>
-          <type name="Timeline" c:type="ClutterTimeline*"/>
-        </return-value>
-      </method>
-      <method name="property_get_ease_in"
-              c:identifier="clutter_animator_property_get_ease_in"
-              version="1.2">
-        <doc xml:whitespace="preserve">Checks if a property value is to be eased into the animation.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the property is eased in</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GObject</doc>
-            <type name="GObject.Object" c:type="GObject*"/>
-          </parameter>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of a property on object</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="property_get_interpolation"
-              c:identifier="clutter_animator_property_get_interpolation"
-              version="1.2">
-        <doc xml:whitespace="preserve">Get the interpolation used by animator for a property on a particular
-object.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a ClutterInterpolation value.</doc>
-          <type name="Interpolation" c:type="ClutterInterpolation"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GObject</doc>
-            <type name="GObject.Object" c:type="GObject*"/>
-          </parameter>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of a property on object</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="property_set_ease_in"
-              c:identifier="clutter_animator_property_set_ease_in"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets whether a property value is to be eased into the animation.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GObject</doc>
-            <type name="GObject.Object" c:type="GObject*"/>
-          </parameter>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of a property on object</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="ease_in" transfer-ownership="none">
-            <doc xml:whitespace="preserve">we are going to be easing in this property</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="property_set_interpolation"
-              c:identifier="clutter_animator_property_set_interpolation"
-              version="1.2">
-        <doc xml:whitespace="preserve">Set the interpolation method to use, %CLUTTER_INTERPOLATION_LINEAR causes
-the values to linearly change between the values, and
-%CLUTTER_INTERPOLATION_CUBIC causes the values to smoothly change between
-the values.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GObject</doc>
-            <type name="GObject.Object" c:type="GObject*"/>
-          </parameter>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of a property on object</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="interpolation" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #ClutterInterpolation to use</doc>
-            <type name="Interpolation" c:type="ClutterInterpolation"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="remove_key"
-              c:identifier="clutter_animator_remove_key"
-              version="1.2">
-        <doc xml:whitespace="preserve">Removes all keys matching the conditions specificed in the arguments.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GObject to search for, or %NULL for all</doc>
-            <type name="GObject.Object" c:type="GObject*"/>
-          </parameter>
-          <parameter name="property_name"
-                     transfer-ownership="none"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">a specific property name to query for, or %NULL for all</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="progress" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a specific progress to search for or a negative value for all</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set"
-              c:identifier="clutter_animator_set"
-              version="1.2"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Adds multiple keys to a #ClutterAnimator, specifying the value a given
-property should have at a given progress of the animation. The mode
-specified is the mode used when going to this key from the previous key of
-the @property_name
-If a given (object, property, progress) tuple already exist the mode and
-value will be replaced with the new values.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="first_object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GObject</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-          <parameter name="first_property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the property to specify a key for</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="first_mode" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the id of the alpha function to use</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="first_progress" transfer-ownership="none">
-            <doc xml:whitespace="preserve">at which stage of the animation this value applies; the range is a normalized floating point value between 0 and 1</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_duration"
-              c:identifier="clutter_animator_set_duration"
-              version="1.2">
-        <doc xml:whitespace="preserve">Runs the timeline of the #ClutterAnimator with a duration in msecs
-as specified.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="duration" transfer-ownership="none">
-            <doc xml:whitespace="preserve">milliseconds a run of the animator should last.</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_key"
-              c:identifier="clutter_animator_set_key"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets a single key in the #ClutterAnimator for the @property_name of</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The animator instance</doc>
-          <type name="Animator" c:type="ClutterAnimator*"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GObject</doc>
-            <type name="GObject.Object" c:type="GObject*"/>
-          </parameter>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the property to specify a key for</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="mode" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the id of the alpha function to use</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="progress" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the normalized range at which stage of the animation this value applies</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value property_name should have at progress.</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_timeline"
-              c:identifier="clutter_animator_set_timeline"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets an external timeline that will be used for driving the animation</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="timeline" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterTimeline</doc>
-            <type name="Timeline" c:type="ClutterTimeline*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="start" c:identifier="clutter_animator_start" version="1.2">
-        <doc xml:whitespace="preserve">Start the ClutterAnimator, this is a thin wrapper that rewinds
-and starts the animators current timeline.
-the animator. The returned timeline is owned by the #ClutterAnimator
-and it should not be unreferenced</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #ClutterTimeline that drives</doc>
-          <type name="Timeline" c:type="ClutterTimeline*"/>
-        </return-value>
-      </method>
-      <property name="duration"
-                version="1.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The duration of the #ClutterTimeline used by the #ClutterAnimator
-to drive the animation</doc>
-        <type name="guint"/>
-      </property>
-      <property name="timeline"
-                version="1.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The #ClutterTimeline used by the #ClutterAnimator to drive the
-animation</doc>
-        <type name="Timeline"/>
-      </property>
-      <field name="parent_instance">
-        <type name="GObject.Object" c:type="GObject"/>
-      </field>
-      <field name="priv">
-        <type name="AnimatorPrivate" c:type="ClutterAnimatorPrivate*"/>
-      </field>
-    </class>
-    <record name="AnimatorClass"
-            c:type="ClutterAnimatorClass"
-            glib:is-gtype-struct-for="Animator"
-            version="1.2">
-      <doc xml:whitespace="preserve">The #ClutterAnimatorClass structure contains only private data</doc>
-      <field name="parent_class">
-        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
-      </field>
-      <field name="_padding_dummy">
-        <array zero-terminated="0" c:type="gpointer" fixed-size="16">
-          <type name="gpointer" c:type="gpointer"/>
-        </array>
-      </field>
-    </record>
-    <record name="AnimatorKey"
-            c:type="ClutterAnimatorKey"
-            version="1.2"
-            glib:type-name="ClutterAnimatorKey"
-            glib:get-type="clutter_animator_key_get_type"
-            c:symbol-prefix="animator_key">
-      <doc xml:whitespace="preserve">A key frame inside a #ClutterAnimator</doc>
-      <method name="get_mode"
-              c:identifier="clutter_animator_key_get_mode"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the mode of a #ClutterAnimator key, for the first key of a
-property for an object this represents the whether the animation is
-open ended and or curved for the remainding keys for the property it
-represents the easing mode.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the mode of a #ClutterAnimatorKey</doc>
-          <type name="gulong" c:type="gulong"/>
-        </return-value>
-      </method>
-      <method name="get_object"
-              c:identifier="clutter_animator_key_get_object"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the object a key applies to.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the object an animator_key exist for.</doc>
-          <type name="GObject.Object" c:type="GObject*"/>
-        </return-value>
-      </method>
-      <method name="get_progress"
-              c:identifier="clutter_animator_key_get_progress"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the progress of an clutter_animator_key</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the progress defined for a #ClutterAnimator key.</doc>
-          <type name="gdouble" c:type="gdouble"/>
-        </return-value>
-      </method>
-      <method name="get_property_name"
-              c:identifier="clutter_animator_key_get_property_name"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the name of the property a key applies to.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the name of the property an animator_key exist for.</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-      <method name="get_property_type"
-              c:identifier="clutter_animator_key_get_property_type"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the #GType of the property a key applies to
-You can use this type to initialize the #GValue to pass to
-clutter_animator_key_get_value()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GType of the property</doc>
-          <type name="GType" c:type="GType"/>
-        </return-value>
-      </method>
-      <method name="get_value"
-              c:identifier="clutter_animator_key_get_value"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves a copy of the value for a #ClutterAnimatorKey.
-The passed in #GValue needs to be already initialized for the value
-type of the key or to a type that allow transformation from the value
-type of the key.
-Use g_value_unset() when done.
-%FALSE otherwise</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the passed #GValue was successfully set, and</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GValue initialized with the correct type for the animator key</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-    </record>
-    <record name="AnimatorPrivate"
-            c:type="ClutterAnimatorPrivate"
-            disguised="1">
-    </record>
-    <record name="AnyEvent" c:type="ClutterAnyEvent" version="0.2">
-      <doc xml:whitespace="preserve">Common members for a #ClutterEvent</doc>
-      <field name="type" writable="1">
-        <type name="EventType" c:type="ClutterEventType"/>
-      </field>
-      <field name="time" writable="1">
-        <type name="guint32" c:type="guint32"/>
-      </field>
-      <field name="flags" writable="1">
-        <type name="EventFlags" c:type="ClutterEventFlags"/>
-      </field>
-      <field name="stage" writable="1">
-        <type name="Stage" c:type="ClutterStage*"/>
-      </field>
-      <field name="source" writable="1">
-        <type name="Actor" c:type="ClutterActor*"/>
-      </field>
-    </record>
-    <constant name="Aogonek" value="417">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ApplicationLeft" value="269025104">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ApplicationRight" value="269025105">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_0" value="16778848">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_1" value="16778849">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_2" value="16778850">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_3" value="16778851">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_4" value="16778852">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_5" value="16778853">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_6" value="16778854">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_7" value="16778855">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_8" value="16778856">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_9" value="16778857">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_ain" value="1497">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_alef" value="1479">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_alefmaksura" value="1513">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_beh" value="1480">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_comma" value="1452">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_dad" value="1494">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_dal" value="1487">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_damma" value="1519">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_dammatan" value="1516">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_ddal" value="16778888">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_farsi_yeh" value="16778956">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_fatha" value="1518">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_fathatan" value="1515">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_feh" value="1505">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_fullstop" value="16778964">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_gaf" value="16778927">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_ghain" value="1498">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_ha" value="1511">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_hah" value="1485">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_hamza" value="1473">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_hamza_above" value="16778836">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_hamza_below" value="16778837">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_hamzaonalef" value="1475">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_hamzaonwaw" value="1476">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_hamzaonyeh" value="1478">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_hamzaunderalef" value="1477">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_heh" value="1511">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_heh_doachashmee" value="16778942">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_heh_goal" value="16778945">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_jeem" value="1484">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_jeh" value="16778904">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_kaf" value="1507">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_kasra" value="1520">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_kasratan" value="1517">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_keheh" value="16778921">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_khah" value="1486">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_lam" value="1508">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_madda_above" value="16778835">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_maddaonalef" value="1474">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_meem" value="1509">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_noon" value="1510">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_noon_ghunna" value="16778938">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_peh" value="16778878">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_percent" value="16778858">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_qaf" value="1506">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_question_mark" value="1471">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_ra" value="1489">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_rreh" value="16778897">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_sad" value="1493">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_seen" value="1491">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_semicolon" value="1467">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_shadda" value="1521">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_sheen" value="1492">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_sukun" value="1522">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_superscript_alef" value="16778864">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_switch" value="65406">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_tah" value="1495">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_tatweel" value="1504">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_tcheh" value="16778886">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_teh" value="1482">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_tehmarbuta" value="1481">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_thal" value="1488">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_theh" value="1483">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_tteh" value="16778873">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_veh" value="16778916">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_waw" value="1512">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_yeh" value="1514">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_yeh_baree" value="16778962">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_zah" value="1496">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Arabic_zain" value="1490">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Aring" value="197">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_AT" value="16778552">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_AYB" value="16778545">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_BEN" value="16778546">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_CHA" value="16778569">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_DA" value="16778548">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_DZA" value="16778561">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_E" value="16778551">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_FE" value="16778582">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_GHAT" value="16778562">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_GIM" value="16778547">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_HI" value="16778565">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_HO" value="16778560">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_INI" value="16778555">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_JE" value="16778571">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_KE" value="16778580">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_KEN" value="16778559">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_KHE" value="16778557">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_LYUN" value="16778556">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_MEN" value="16778564">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_NU" value="16778566">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_O" value="16778581">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_PE" value="16778570">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_PYUR" value="16778579">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_RA" value="16778572">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_RE" value="16778576">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_SE" value="16778573">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_SHA" value="16778567">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_TCHE" value="16778563">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_TO" value="16778553">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_TSA" value="16778558">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_TSO" value="16778577">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_TYUN" value="16778575">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_VEV" value="16778574">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_VO" value="16778568">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_VYUN" value="16778578">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_YECH" value="16778549">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_ZA" value="16778550">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_ZHE" value="16778554">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_accent" value="16778587">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_amanak" value="16778588">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_apostrophe" value="16778586">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_at" value="16778600">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_ayb" value="16778593">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_ben" value="16778594">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_but" value="16778589">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_cha" value="16778617">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_da" value="16778596">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_dza" value="16778609">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_e" value="16778599">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_exclam" value="16778588">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_fe" value="16778630">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_full_stop" value="16778633">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_ghat" value="16778610">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_gim" value="16778595">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_hi" value="16778613">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_ho" value="16778608">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_hyphen" value="16778634">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_ini" value="16778603">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_je" value="16778619">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_ke" value="16778628">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_ken" value="16778607">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_khe" value="16778605">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_ligature_ew" value="16778631">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_lyun" value="16778604">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_men" value="16778612">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_nu" value="16778614">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_o" value="16778629">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_paruyk" value="16778590">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_pe" value="16778618">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_pyur" value="16778627">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_question" value="16778590">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_ra" value="16778620">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_re" value="16778624">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_se" value="16778621">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_separation_mark" value="16778589">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_sha" value="16778615">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_shesht" value="16778587">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_tche" value="16778611">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_to" value="16778601">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_tsa" value="16778606">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_tso" value="16778625">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_tyun" value="16778623">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_verjaket" value="16778633">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_vev" value="16778622">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_vo" value="16778616">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_vyun" value="16778626">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_yech" value="16778597">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_yentamna" value="16778634">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_za" value="16778598">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Armenian_zhe" value="16778602">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Atilde" value="195">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="AudibleBell_Enable" value="65146">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="AudioCycleTrack" value="269025179">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="AudioForward" value="269025175">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="AudioLowerVolume" value="269025041">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="AudioMedia" value="269025074">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="AudioMute" value="269025042">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="AudioNext" value="269025047">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="AudioPause" value="269025073">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="AudioPlay" value="269025044">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="AudioPrev" value="269025046">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="AudioRaiseVolume" value="269025043">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="AudioRandomPlay" value="269025177">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="AudioRecord" value="269025052">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="AudioRepeat" value="269025176">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="AudioRewind" value="269025086">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="AudioStop" value="269025045">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Away" value="269025165">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="B" value="66">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Babovedot" value="16784898">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Back" value="269025062">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="BackForward" value="269025087">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="BackSpace" value="65288">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="Backend"
-           c:symbol-prefix="backend"
-           c:type="ClutterBackend"
-           parent="GObject.Object"
-           abstract="1"
-           glib:type-name="ClutterBackend"
-           glib:get-type="clutter_backend_get_type"
-           glib:type-struct="BackendClass">
-      <virtual-method name="add_options">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="group" transfer-ownership="none">
-            <type name="GLib.OptionGroup" c:type="GOptionGroup*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="copy_event_data">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="src" transfer-ownership="none">
-            <type name="Event" c:type="ClutterEvent*"/>
-          </parameter>
-          <parameter name="dest" transfer-ownership="none">
-            <type name="Event" c:type="ClutterEvent*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="create_context" throws="1">
-        <return-value transfer-ownership="none">
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="create_stage" introspectable="0" throws="1">
-        <return-value>
-          <type name="StageWindow" c:type="ClutterStageWindow*"/>
-        </return-value>
-        <parameters>
-          <parameter name="wrapper" transfer-ownership="none">
-            <type name="Stage" c:type="ClutterStage*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="ensure_context">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="stage" transfer-ownership="none">
-            <type name="Stage" c:type="ClutterStage*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="free_event_data">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="event" transfer-ownership="none">
-            <type name="Event" c:type="ClutterEvent*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="get_device_manager" introspectable="0">
-        <return-value>
-          <type name="DeviceManager" c:type="ClutterDeviceManager*"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="get_features">
-        <return-value transfer-ownership="none">
-          <type name="FeatureFlags" c:type="ClutterFeatureFlags"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="init_events">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="init_features">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="post_parse" throws="1">
-        <return-value transfer-ownership="none">
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="pre_parse" throws="1">
-        <return-value transfer-ownership="none">
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="redraw">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="stage" transfer-ownership="none">
-            <type name="Stage" c:type="ClutterStage*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <method name="get_double_click_distance"
-              c:identifier="clutter_backend_get_double_click_distance"
-              version="0.4"
-              deprecated="Use #ClutterSettings:double-click-distance instead"
-              deprecated-version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the distance used to verify a double click event</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a distance, in pixels.</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_double_click_time"
-              c:identifier="clutter_backend_get_double_click_time"
-              version="0.4"
-              deprecated="Use #ClutterSettings:double-click-time instead"
-              deprecated-version="1.4">
-        <doc xml:whitespace="preserve">Gets the maximum time between two button press events, as set
-by clutter_backend_set_double_click_time().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a time in milliseconds</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_font_name"
-              c:identifier="clutter_backend_get_font_name"
-              version="1.0"
-              deprecated="Use #ClutterSettings:font-name instead"
-              deprecated-version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the default font name as set by
-clutter_backend_set_font_name().
-owned by the #ClutterBackend and should never be modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the font name for the backend. The returned string is</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-      <method name="get_font_options"
-              c:identifier="clutter_backend_get_font_options"
-              version="0.8">
-        <doc xml:whitespace="preserve">Retrieves the font options for @backend.
-The returned #cairo_font_options_t is owned by the backend and should
-not be modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the font options of the #ClutterBackend.</doc>
-          <type name="cairo.FontOptions" c:type="cairo_font_options_t*"/>
-        </return-value>
-      </method>
-      <method name="get_resolution"
-              c:identifier="clutter_backend_get_resolution"
-              version="0.4">
-        <doc xml:whitespace="preserve">Gets the resolution for font handling on the screen.
-The resolution is a scale factor between points specified in a
-#PangoFontDescription and cairo units. The default value is 96.0,
-meaning that a 10 point font will be 13 units
-high (10 * 96. / 72. = 13.3).
-Clutter will set the resolution using the current backend when
-initializing; the resolution is also stored in the
-#ClutterSettings:font-dpi property.
-has been set.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the current resolution, or -1 if no resolution</doc>
-          <type name="gdouble" c:type="gdouble"/>
-        </return-value>
-      </method>
-      <method name="set_double_click_distance"
-              c:identifier="clutter_backend_set_double_click_distance"
-              version="0.4"
-              deprecated="Use #ClutterSettings:double-click-distance instead"
-              deprecated-version="1.4">
-        <doc xml:whitespace="preserve">Sets the maximum distance used to verify a double click event.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="distance" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a distance, in pixels</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_double_click_time"
-              c:identifier="clutter_backend_set_double_click_time"
-              version="0.4"
-              deprecated="Use #ClutterSettings:double-click-time instead"
-              deprecated-version="1.4">
-        <doc xml:whitespace="preserve">Sets the maximum time between two button press events, used to
-verify whether it's a double click event or not.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="msec" transfer-ownership="none">
-            <doc xml:whitespace="preserve">milliseconds between two button press events</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_font_name"
-              c:identifier="clutter_backend_set_font_name"
-              version="1.0"
-              deprecated="Use #ClutterSettings:font-name instead"
-              deprecated-version="1.4">
-        <doc xml:whitespace="preserve">Sets the default font to be used by Clutter. The @font_name string
-must either be %NULL, which means that the font name from the
-default #ClutterBackend will be used; or be something that can
-be parsed by the pango_font_description_from_string() function.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="font_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the font</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_font_options"
-              c:identifier="clutter_backend_set_font_options"
-              version="0.8">
-        <doc xml:whitespace="preserve">Sets the new font options for @backend. The #ClutterBackend will
-copy the #cairo_font_options_t.
-If @options is %NULL, the first following call to
-clutter_backend_get_font_options() will return the default font
-options for @backend.
-This function is intended for actors creating a Pango layout
-using the PangoCairo API.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="options" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Cairo font options for the backend, or %NULL</doc>
-            <type name="cairo.FontOptions" c:type="cairo_font_options_t*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_resolution"
-              c:identifier="clutter_backend_set_resolution"
-              version="0.4"
-              deprecated="Use #ClutterSettings:font-dpi instead">
-        <doc xml:whitespace="preserve">Sets the resolution for font handling on the screen. This is a
-scale factor between points specified in a #PangoFontDescription
-and cairo units. The default value is 96, meaning that a 10 point
-font will be 13 units high. (10 * 96. / 72. = 13.3).
-Applications should never need to call this function.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="dpi" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the resolution in "dots per inch" (Physical inches aren't actually involved; the terminology is conventional).</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </method>
-      <field name="parent_instance">
-        <type name="GObject.Object" c:type="GObject"/>
-      </field>
-      <field name="priv">
-        <type name="BackendPrivate" c:type="ClutterBackendPrivate*"/>
-      </field>
-      <glib:signal name="font-changed">
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="resolution-changed">
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="settings-changed">
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-    </class>
-    <record name="BackendClass"
-            c:type="ClutterBackendClass"
-            glib:is-gtype-struct-for="Backend">
-      <field name="parent_class">
-        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
-      </field>
-      <field name="pre_parse">
-        <callback name="pre_parse" throws="1">
-          <return-value transfer-ownership="none">
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="backend" transfer-ownership="none">
-              <type name="Backend" c:type="ClutterBackend*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="post_parse">
-        <callback name="post_parse" throws="1">
-          <return-value transfer-ownership="none">
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="backend" transfer-ownership="none">
-              <type name="Backend" c:type="ClutterBackend*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="create_stage" introspectable="0">
-        <callback name="create_stage" introspectable="0" throws="1">
-          <return-value>
-            <type name="StageWindow" c:type="ClutterStageWindow*"/>
-          </return-value>
-          <parameters>
-            <parameter name="backend" transfer-ownership="none">
-              <type name="Backend" c:type="ClutterBackend*"/>
-            </parameter>
-            <parameter name="wrapper" transfer-ownership="none">
-              <type name="Stage" c:type="ClutterStage*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="init_events">
-        <callback name="init_events">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="backend" transfer-ownership="none">
-              <type name="Backend" c:type="ClutterBackend*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="init_features">
-        <callback name="init_features">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="backend" transfer-ownership="none">
-              <type name="Backend" c:type="ClutterBackend*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="add_options">
-        <callback name="add_options">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="backend" transfer-ownership="none">
-              <type name="Backend" c:type="ClutterBackend*"/>
-            </parameter>
-            <parameter name="group" transfer-ownership="none">
-              <type name="GLib.OptionGroup" c:type="GOptionGroup*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="get_features">
-        <callback name="get_features">
-          <return-value transfer-ownership="none">
-            <type name="FeatureFlags" c:type="ClutterFeatureFlags"/>
-          </return-value>
-          <parameters>
-            <parameter name="backend" transfer-ownership="none">
-              <type name="Backend" c:type="ClutterBackend*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="redraw">
-        <callback name="redraw">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="backend" transfer-ownership="none">
-              <type name="Backend" c:type="ClutterBackend*"/>
-            </parameter>
-            <parameter name="stage" transfer-ownership="none">
-              <type name="Stage" c:type="ClutterStage*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="create_context">
-        <callback name="create_context" throws="1">
-          <return-value transfer-ownership="none">
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="backend" transfer-ownership="none">
-              <type name="Backend" c:type="ClutterBackend*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="ensure_context">
-        <callback name="ensure_context">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="backend" transfer-ownership="none">
-              <type name="Backend" c:type="ClutterBackend*"/>
-            </parameter>
-            <parameter name="stage" transfer-ownership="none">
-              <type name="Stage" c:type="ClutterStage*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="get_device_manager" introspectable="0">
-        <callback name="get_device_manager" introspectable="0">
-          <return-value>
-            <type name="DeviceManager" c:type="ClutterDeviceManager*"/>
-          </return-value>
-          <parameters>
-            <parameter name="backend" transfer-ownership="none">
-              <type name="Backend" c:type="ClutterBackend*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="copy_event_data">
-        <callback name="copy_event_data">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="backend" transfer-ownership="none">
-              <type name="Backend" c:type="ClutterBackend*"/>
-            </parameter>
-            <parameter name="src" transfer-ownership="none">
-              <type name="Event" c:type="ClutterEvent*"/>
-            </parameter>
-            <parameter name="dest" transfer-ownership="none">
-              <type name="Event" c:type="ClutterEvent*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="free_event_data">
-        <callback name="free_event_data">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="backend" transfer-ownership="none">
-              <type name="Backend" c:type="ClutterBackend*"/>
-            </parameter>
-            <parameter name="event" transfer-ownership="none">
-              <type name="Event" c:type="ClutterEvent*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="resolution_changed">
-        <callback name="resolution_changed">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="backend" transfer-ownership="none">
-              <type name="Backend" c:type="ClutterBackend*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="font_changed">
-        <callback name="font_changed">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="backend" transfer-ownership="none">
-              <type name="Backend" c:type="ClutterBackend*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="settings_changed">
-        <callback name="settings_changed">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="backend" transfer-ownership="none">
-              <type name="Backend" c:type="ClutterBackend*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-    </record>
-    <record name="BackendPrivate" c:type="ClutterBackendPrivate" disguised="1">
-    </record>
-    <constant name="Battery" value="269025171">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Begin" value="65368">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="Behaviour"
-           c:symbol-prefix="behaviour"
-           c:type="ClutterBehaviour"
-           version="0.2"
-           parent="GObject.Object"
-           abstract="1"
-           glib:type-name="ClutterBehaviour"
-           glib:get-type="clutter_behaviour_get_type"
-           glib:type-struct="BehaviourClass">
-      <doc xml:whitespace="preserve">#ClutterBehaviour-struct contains only private data and should
-be accessed with the functions below.</doc>
-      <implements name="Scriptable"/>
-      <virtual-method name="alpha_notify">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="alpha_value" transfer-ownership="none">
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <method name="actors_foreach"
-              c:identifier="clutter_behaviour_actors_foreach"
-              version="0.2">
-        <doc xml:whitespace="preserve">Calls @func for every actor driven by @behave.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="func"
-                     transfer-ownership="none"
-                     scope="call"
-                     closure="1">
-            <doc xml:whitespace="preserve">a function called for each actor</doc>
-            <type name="BehaviourForeachFunc"
-                  c:type="ClutterBehaviourForeachFunc"/>
-          </parameter>
-          <parameter name="data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">optional data to be passed to the function, or %NULL</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="apply"
-              c:identifier="clutter_behaviour_apply"
-              version="0.2">
-        <doc xml:whitespace="preserve">Applies @behave to @actor.  This function adds a reference on
-the actor.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_actors"
-              c:identifier="clutter_behaviour_get_actors"
-              version="0.2">
-        <doc xml:whitespace="preserve">Retrieves all the actors to which @behave applies. It is not recommended
-for derived classes to use this in there alpha notify method but use 
-#clutter_behaviour_actors_foreach as it avoids alot of needless allocations.
-actors. You should free the returned list with g_slist_free() when
-finished using it.</doc>
-        <return-value transfer-ownership="container">
-          <doc xml:whitespace="preserve">a list of</doc>
-          <type name="GLib.SList" c:type="GSList*">
-            <type name="Actor"/>
-          </type>
-        </return-value>
-      </method>
-      <method name="get_alpha"
-              c:identifier="clutter_behaviour_get_alpha"
-              version="0.2">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterAlpha object bound to @behave.
-object has been bound to this behaviour.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterAlpha object, or %NULL if no alpha</doc>
-          <type name="Alpha" c:type="ClutterAlpha*"/>
-        </return-value>
-      </method>
-      <method name="get_n_actors"
-              c:identifier="clutter_behaviour_get_n_actors"
-              version="0.2">
-        <doc xml:whitespace="preserve">Gets the number of actors this behaviour is applied too.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The number of applied actors</doc>
-          <type name="gint" c:type="gint"/>
-        </return-value>
-      </method>
-      <method name="get_nth_actor"
-              c:identifier="clutter_behaviour_get_nth_actor"
-              version="0.2">
-        <doc xml:whitespace="preserve">Gets an actor the behaviour was applied to referenced by index num.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">A Clutter actor or NULL if @index_ is invalid.</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-        <parameters>
-          <parameter name="index_" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the index of an actor this behaviour is applied too.</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="is_applied"
-              c:identifier="clutter_behaviour_is_applied"
-              version="0.4">
-        <doc xml:whitespace="preserve">Check if @behave applied to  @actor.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">TRUE if actor has behaviour. FALSE otherwise.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="remove"
-              c:identifier="clutter_behaviour_remove"
-              version="0.2">
-        <doc xml:whitespace="preserve">Removes @actor from the list of #ClutterActor&lt;!-- --&gt;s to which</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="remove_all"
-              c:identifier="clutter_behaviour_remove_all"
-              version="0.4">
-        <doc xml:whitespace="preserve">Removes every actor from the list that @behave holds.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="set_alpha"
-              c:identifier="clutter_behaviour_set_alpha"
-              version="0.2">
-        <doc xml:whitespace="preserve">Binds @alpha to a #ClutterBehaviour. The #ClutterAlpha object
-used by #ClutterAlpha a new value of the alpha parameter is
-computed by the alpha function; the value should be used by
-the #ClutterBehaviour to update one or more properties of the
-actors to which the behaviour applies.
-If @alpha is not %NULL, the #ClutterBehaviour will take ownership
-of the #ClutterAlpha instance.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="alpha" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterAlpha or %NULL to unset a previously set alpha</doc>
-            <type name="Alpha" c:type="ClutterAlpha*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="alpha"
-                version="0.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The #ClutterAlpha object used to drive this behaviour. A #ClutterAlpha
-object binds a #ClutterTimeline and a function which computes a value
-(the "alpha") depending on the time. Each time the alpha value changes
-the alpha-notify virtual function is called.</doc>
-        <type name="Alpha"/>
-      </property>
-      <field name="parent">
-        <type name="GObject.Object" c:type="GObject"/>
-      </field>
-      <field name="priv">
-        <type name="BehaviourPrivate" c:type="ClutterBehaviourPrivate*"/>
-      </field>
-      <glib:signal name="applied" version="0.4">
-        <doc xml:whitespace="preserve">The ::apply signal is emitted each time the behaviour is applied
-to an actor.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the actor the behaviour was applied to.</doc>
-            <type name="Actor"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="removed" version="0.4">
-        <doc xml:whitespace="preserve">The ::removed signal is emitted each time a behaviour is not applied
-to an actor anymore.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the removed actor</doc>
-            <type name="Actor"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-    </class>
-    <record name="BehaviourClass"
-            c:type="ClutterBehaviourClass"
-            glib:is-gtype-struct-for="Behaviour">
-      <field name="parent_class">
-        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
-      </field>
-      <field name="alpha_notify">
-        <callback name="alpha_notify">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="behave" transfer-ownership="none">
-              <type name="Behaviour" c:type="ClutterBehaviour*"/>
-            </parameter>
-            <parameter name="alpha_value" transfer-ownership="none">
-              <type name="gdouble" c:type="gdouble"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="applied">
-        <callback name="applied">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="behave" transfer-ownership="none">
-              <type name="Behaviour" c:type="ClutterBehaviour*"/>
-            </parameter>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="removed">
-        <callback name="removed">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="behave" transfer-ownership="none">
-              <type name="Behaviour" c:type="ClutterBehaviour*"/>
-            </parameter>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_clutter_behaviour1" introspectable="0">
-        <callback name="_clutter_behaviour1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_behaviour2" introspectable="0">
-        <callback name="_clutter_behaviour2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_behaviour3" introspectable="0">
-        <callback name="_clutter_behaviour3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_behaviour4" introspectable="0">
-        <callback name="_clutter_behaviour4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_behaviour5" introspectable="0">
-        <callback name="_clutter_behaviour5">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_behaviour6" introspectable="0">
-        <callback name="_clutter_behaviour6">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <class name="BehaviourDepth"
-           c:symbol-prefix="behaviour_depth"
-           c:type="ClutterBehaviourDepth"
-           version="0.2"
-           parent="Behaviour"
-           glib:type-name="ClutterBehaviourDepth"
-           glib:get-type="clutter_behaviour_depth_get_type"
-           glib:type-struct="BehaviourDepthClass">
-      <doc xml:whitespace="preserve">The #ClutterBehaviourDepth structure contains only private data
-and should be accessed using the provided API</doc>
-      <implements name="Scriptable"/>
-      <constructor name="new"
-                   c:identifier="clutter_behaviour_depth_new"
-                   version="0.4">
-        <doc xml:whitespace="preserve">Creates a new #ClutterBehaviourDepth which can be used to control
-the ClutterActor:depth property of a set of #ClutterActor&lt;!-- --&gt;s.
-If @alpha is not %NULL, the #ClutterBehaviour will take ownership
-of the #ClutterAlpha instance. In the case when @alpha is %NULL,
-it can be set later with clutter_behaviour_set_alpha().</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created behaviour</doc>
-          <type name="Behaviour" c:type="ClutterBehaviour*"/>
-        </return-value>
-        <parameters>
-          <parameter name="alpha" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #ClutterAlpha instance, or %NULL</doc>
-            <type name="Alpha" c:type="ClutterAlpha*"/>
-          </parameter>
-          <parameter name="depth_start" transfer-ownership="none">
-            <doc xml:whitespace="preserve">initial value of the depth</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="depth_end" transfer-ownership="none">
-            <doc xml:whitespace="preserve">final value of the depth</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="get_bounds"
-              c:identifier="clutter_behaviour_depth_get_bounds"
-              version="0.6">
-        <doc xml:whitespace="preserve">Gets the boundaries of the @behaviour</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="depth_start"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the initial depth value, or %NULL</doc>
-            <type name="gint" c:type="gint*"/>
-          </parameter>
-          <parameter name="depth_end"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the final depth value, or %NULL</doc>
-            <type name="gint" c:type="gint*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_bounds"
-              c:identifier="clutter_behaviour_depth_set_bounds"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sets the boundaries of the @behaviour.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="depth_start" transfer-ownership="none">
-            <doc xml:whitespace="preserve">initial value of the depth</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="depth_end" transfer-ownership="none">
-            <doc xml:whitespace="preserve">final value of the depth</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="depth-end"
-                version="0.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">End depth level to apply to the actors.</doc>
-        <type name="gint"/>
-      </property>
-      <property name="depth-start"
-                version="0.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Start depth level to apply to the actors.</doc>
-        <type name="gint"/>
-      </property>
-      <field name="parent_instance">
-        <type name="Behaviour" c:type="ClutterBehaviour"/>
-      </field>
-      <field name="priv">
-        <type name="BehaviourDepthPrivate"
-              c:type="ClutterBehaviourDepthPrivate*"/>
-      </field>
-    </class>
-    <record name="BehaviourDepthClass"
-            c:type="ClutterBehaviourDepthClass"
-            glib:is-gtype-struct-for="BehaviourDepth"
-            version="0.2">
-      <doc xml:whitespace="preserve">The #ClutterBehaviourDepthClass structure contains only private data</doc>
-      <field name="parent_class">
-        <type name="BehaviourClass" c:type="ClutterBehaviourClass"/>
-      </field>
-    </record>
-    <record name="BehaviourDepthPrivate"
-            c:type="ClutterBehaviourDepthPrivate"
-            disguised="1">
-    </record>
-    <class name="BehaviourEllipse"
-           c:symbol-prefix="behaviour_ellipse"
-           c:type="ClutterBehaviourEllipse"
-           version="0.4"
-           parent="Behaviour"
-           glib:type-name="ClutterBehaviourEllipse"
-           glib:get-type="clutter_behaviour_ellipse_get_type"
-           glib:type-struct="BehaviourEllipseClass">
-      <doc xml:whitespace="preserve">The #ClutterBehaviourEllipse struct contains only private data
-and should be accessed using the provided API</doc>
-      <implements name="Scriptable"/>
-      <constructor name="new"
-                   c:identifier="clutter_behaviour_ellipse_new"
-                   version="0.4">
-        <doc xml:whitespace="preserve">Creates a behaviour that drives actors along an elliptical path with
-given center, width and height; the movement starts at @start
-degrees (with 0 corresponding to 12 o'clock) and ends at @end
-degrees. Angles greated than 360 degrees get clamped to the canonical
-interval &lt;0, 360); if @start is equal to @end, the behaviour will
-rotate by exacly 360 degrees.
-If @alpha is not %NULL, the #ClutterBehaviour will take ownership
-of the #ClutterAlpha instance. In the case when @alpha is %NULL,
-it can be set later with clutter_behaviour_set_alpha().</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created #ClutterBehaviourEllipse</doc>
-          <type name="Behaviour" c:type="ClutterBehaviour*"/>
-        </return-value>
-        <parameters>
-          <parameter name="alpha" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #ClutterAlpha instance, or %NULL</doc>
-            <type name="Alpha" c:type="ClutterAlpha*"/>
-          </parameter>
-          <parameter name="x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">x coordinace of the center</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">y coordiance of the center</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="width" transfer-ownership="none">
-            <doc xml:whitespace="preserve">width of the ellipse</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="height" transfer-ownership="none">
-            <doc xml:whitespace="preserve">height of the ellipse</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="direction" transfer-ownership="none">
-            <doc xml:whitespace="preserve">#ClutterRotateDirection of rotation</doc>
-            <type name="RotateDirection" c:type="ClutterRotateDirection"/>
-          </parameter>
-          <parameter name="start" transfer-ownership="none">
-            <doc xml:whitespace="preserve">angle in degrees at which movement starts, between 0 and 360</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="end" transfer-ownership="none">
-            <doc xml:whitespace="preserve">angle in degrees at which movement ends, between 0 and 360</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="get_angle_end"
-              c:identifier="clutter_behaviour_ellipse_get_angle_end"
-              version="0.4">
-        <doc xml:whitespace="preserve">Gets the at which movements ends.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">angle in degrees</doc>
-          <type name="gdouble" c:type="gdouble"/>
-        </return-value>
-      </method>
-      <method name="get_angle_start"
-              c:identifier="clutter_behaviour_ellipse_get_angle_start"
-              version="0.6">
-        <doc xml:whitespace="preserve">Gets the angle at which movements starts.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">angle in degrees</doc>
-          <type name="gdouble" c:type="gdouble"/>
-        </return-value>
-      </method>
-      <method name="get_angle_tilt"
-              c:identifier="clutter_behaviour_ellipse_get_angle_tilt"
-              version="0.4">
-        <doc xml:whitespace="preserve">Gets the tilt of the ellipse around the center in the given axis.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">angle in degrees.</doc>
-          <type name="gdouble" c:type="gdouble"/>
-        </return-value>
-        <parameters>
-          <parameter name="axis" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterRotateAxis</doc>
-            <type name="RotateAxis" c:type="ClutterRotateAxis"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_center"
-              c:identifier="clutter_behaviour_ellipse_get_center"
-              version="0.4">
-        <doc xml:whitespace="preserve">Gets the center of the elliptical path path.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the X coordinate of the center, or %NULL</doc>
-            <type name="gint" c:type="gint*"/>
-          </parameter>
-          <parameter name="y"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the Y coordinate of the center, or %NULL</doc>
-            <type name="gint" c:type="gint*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_direction"
-              c:identifier="clutter_behaviour_ellipse_get_direction"
-              version="0.4">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterRotateDirection used by the ellipse behaviour.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the rotation direction</doc>
-          <type name="RotateDirection" c:type="ClutterRotateDirection"/>
-        </return-value>
-      </method>
-      <method name="get_height"
-              c:identifier="clutter_behaviour_ellipse_get_height"
-              version="0.4">
-        <doc xml:whitespace="preserve">Gets the height of the elliptical path.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the height of the path</doc>
-          <type name="gint" c:type="gint"/>
-        </return-value>
-      </method>
-      <method name="get_tilt"
-              c:identifier="clutter_behaviour_ellipse_get_tilt"
-              version="0.4">
-        <doc xml:whitespace="preserve">Gets the tilt of the ellipse around the center in Y axis.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="angle_tilt_x"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for tilt angle on the X axis, or %NULL.</doc>
-            <type name="gdouble" c:type="gdouble*"/>
-          </parameter>
-          <parameter name="angle_tilt_y"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for tilt angle on the Y axis, or %NULL.</doc>
-            <type name="gdouble" c:type="gdouble*"/>
-          </parameter>
-          <parameter name="angle_tilt_z"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for tilt angle on the Z axis, or %NULL.</doc>
-            <type name="gdouble" c:type="gdouble*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_width"
-              c:identifier="clutter_behaviour_ellipse_get_width"
-              version="0.4">
-        <doc xml:whitespace="preserve">Gets the width of the elliptical path.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the width of the path</doc>
-          <type name="gint" c:type="gint"/>
-        </return-value>
-      </method>
-      <method name="set_angle_end"
-              c:identifier="clutter_behaviour_ellipse_set_angle_end"
-              version="0.4">
-        <doc xml:whitespace="preserve">Sets the angle at which movement ends; angles &gt;= 360 degress get clamped
-to the canonical interval &lt;0, 360).</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="angle_end" transfer-ownership="none">
-            <doc xml:whitespace="preserve">angle at which movement ends in degrees, between 0 and 360.</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_angle_start"
-              c:identifier="clutter_behaviour_ellipse_set_angle_start"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sets the angle at which movement starts; angles &gt;= 360 degress get clamped
-to the canonical interval &lt;0, 360).</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="angle_start" transfer-ownership="none">
-            <doc xml:whitespace="preserve">angle at which movement starts in degrees, between 0 and 360.</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_angle_tilt"
-              c:identifier="clutter_behaviour_ellipse_set_angle_tilt"
-              version="0.4">
-        <doc xml:whitespace="preserve">Sets the angle at which the ellipse should be tilted around it's center.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="axis" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterRotateAxis</doc>
-            <type name="RotateAxis" c:type="ClutterRotateAxis"/>
-          </parameter>
-          <parameter name="angle_tilt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">tilt of the elipse around the center in the given axis in degrees.</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_center"
-              c:identifier="clutter_behaviour_ellipse_set_center"
-              version="0.4">
-        <doc xml:whitespace="preserve">Sets the center of the elliptical path to the point represented by knot.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">x coordinace of centre</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">y coordinace of centre</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_direction"
-              c:identifier="clutter_behaviour_ellipse_set_direction"
-              version="0.4">
-        <doc xml:whitespace="preserve">Sets the rotation direction used by the ellipse behaviour.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="direction" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the rotation direction</doc>
-            <type name="RotateDirection" c:type="ClutterRotateDirection"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_height"
-              c:identifier="clutter_behaviour_ellipse_set_height"
-              version="0.4">
-        <doc xml:whitespace="preserve">Sets the height of the elliptical path.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="height" transfer-ownership="none">
-            <doc xml:whitespace="preserve">height of the ellipse</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_tilt"
-              c:identifier="clutter_behaviour_ellipse_set_tilt"
-              version="0.4">
-        <doc xml:whitespace="preserve">Sets the angles at which the ellipse should be tilted around it's center.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="angle_tilt_x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">tilt of the elipse around the center in X axis in degrees.</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="angle_tilt_y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">tilt of the elipse around the center in Y axis in degrees.</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="angle_tilt_z" transfer-ownership="none">
-            <doc xml:whitespace="preserve">tilt of the elipse around the center in Z axis in degrees.</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_width"
-              c:identifier="clutter_behaviour_ellipse_set_width"
-              version="0.4">
-        <doc xml:whitespace="preserve">Sets the width of the elliptical path.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="width" transfer-ownership="none">
-            <doc xml:whitespace="preserve">width of the ellipse</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="angle-end"
-                version="0.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The final angle to where the rotation should end.</doc>
-        <type name="gdouble"/>
-      </property>
-      <property name="angle-start"
-                version="0.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The initial angle from where the rotation should start.</doc>
-        <type name="gdouble"/>
-      </property>
-      <property name="angle-tilt-x"
-                version="0.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The tilt angle for the rotation around center in X axis</doc>
-        <type name="gdouble"/>
-      </property>
-      <property name="angle-tilt-y"
-                version="0.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The tilt angle for the rotation around center in Y axis</doc>
-        <type name="gdouble"/>
-      </property>
-      <property name="angle-tilt-z"
-                version="0.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The tilt angle for the rotation on the Z axis</doc>
-        <type name="gdouble"/>
-      </property>
-      <property name="center"
-                version="0.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The center of the ellipse.</doc>
-        <type name="Knot"/>
-      </property>
-      <property name="direction"
-                version="0.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The direction of the rotation.</doc>
-        <type name="RotateDirection"/>
-      </property>
-      <property name="height"
-                version="0.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Height of the ellipse, in pixels</doc>
-        <type name="gint"/>
-      </property>
-      <property name="width"
-                version="0.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Width of the ellipse, in pixels</doc>
-        <type name="gint"/>
-      </property>
-      <field name="parent_instance">
-        <type name="Behaviour" c:type="ClutterBehaviour"/>
-      </field>
-      <field name="priv">
-        <type name="BehaviourEllipsePrivate"
-              c:type="ClutterBehaviourEllipsePrivate*"/>
-      </field>
-    </class>
-    <record name="BehaviourEllipseClass"
-            c:type="ClutterBehaviourEllipseClass"
-            glib:is-gtype-struct-for="BehaviourEllipse"
-            version="0.4">
-      <doc xml:whitespace="preserve">The #ClutterBehaviourEllipseClass struct contains only private data</doc>
-      <field name="parent_class">
-        <type name="BehaviourClass" c:type="ClutterBehaviourClass"/>
-      </field>
-    </record>
-    <record name="BehaviourEllipsePrivate"
-            c:type="ClutterBehaviourEllipsePrivate"
-            disguised="1">
-    </record>
-    <callback name="BehaviourForeachFunc"
-              c:type="ClutterBehaviourForeachFunc"
-              version="0.2">
-      <doc xml:whitespace="preserve">This function is passed to clutter_behaviour_foreach_actor() and
-will be called for each actor driven by @behaviour.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="behaviour" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #ClutterBehaviour</doc>
-          <type name="Behaviour" c:type="ClutterBehaviour*"/>
-        </parameter>
-        <parameter name="actor" transfer-ownership="none">
-          <doc xml:whitespace="preserve">an actor driven by @behaviour</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </parameter>
-        <parameter name="data" transfer-ownership="none">
-          <doc xml:whitespace="preserve">optional data passed to the function</doc>
-          <type name="gpointer" c:type="gpointer"/>
-        </parameter>
-      </parameters>
-    </callback>
-    <class name="BehaviourOpacity"
-           c:symbol-prefix="behaviour_opacity"
-           c:type="ClutterBehaviourOpacity"
-           version="0.2"
-           parent="Behaviour"
-           glib:type-name="ClutterBehaviourOpacity"
-           glib:get-type="clutter_behaviour_opacity_get_type"
-           glib:type-struct="BehaviourOpacityClass">
-      <doc xml:whitespace="preserve">The #ClutterBehaviourOpacity structure contains only private data and
-should be accessed using the provided API</doc>
-      <implements name="Scriptable"/>
-      <constructor name="new"
-                   c:identifier="clutter_behaviour_opacity_new"
-                   version="0.2">
-        <doc xml:whitespace="preserve">Creates a new #ClutterBehaviourOpacity object, driven by @alpha
-which controls the opacity property of every actor, making it
-change in the interval between @opacity_start and @opacity_end.
-If @alpha is not %NULL, the #ClutterBehaviour will take ownership
-of the #ClutterAlpha instance. In the case when @alpha is %NULL,
-it can be set later with clutter_behaviour_set_alpha().</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created #ClutterBehaviourOpacity</doc>
-          <type name="Behaviour" c:type="ClutterBehaviour*"/>
-        </return-value>
-        <parameters>
-          <parameter name="alpha" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #ClutterAlpha instance, or %NULL</doc>
-            <type name="Alpha" c:type="ClutterAlpha*"/>
-          </parameter>
-          <parameter name="opacity_start" transfer-ownership="none">
-            <doc xml:whitespace="preserve">minimum level of opacity</doc>
-            <type name="guint8" c:type="guint8"/>
-          </parameter>
-          <parameter name="opacity_end" transfer-ownership="none">
-            <doc xml:whitespace="preserve">maximum level of opacity</doc>
-            <type name="guint8" c:type="guint8"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="get_bounds"
-              c:identifier="clutter_behaviour_opacity_get_bounds"
-              version="0.6">
-        <doc xml:whitespace="preserve">Gets the initial and final levels of the opacity applied by @behaviour
-on each actor it controls.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="opacity_start"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the minimum level of opacity, or %NULL</doc>
-            <type name="guint8" c:type="guint8*"/>
-          </parameter>
-          <parameter name="opacity_end"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the maximum level of opacity, or %NULL</doc>
-            <type name="guint8" c:type="guint8*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_bounds"
-              c:identifier="clutter_behaviour_opacity_set_bounds"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sets the initial and final levels of the opacity applied by @behaviour
-on each actor it controls.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="opacity_start" transfer-ownership="none">
-            <doc xml:whitespace="preserve">minimum level of opacity</doc>
-            <type name="guint8" c:type="guint8"/>
-          </parameter>
-          <parameter name="opacity_end" transfer-ownership="none">
-            <doc xml:whitespace="preserve">maximum level of opacity</doc>
-            <type name="guint8" c:type="guint8"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="opacity-end"
-                version="0.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Final opacity level of the behaviour.</doc>
-        <type name="guint"/>
-      </property>
-      <property name="opacity-start"
-                version="0.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Initial opacity level of the behaviour.</doc>
-        <type name="guint"/>
-      </property>
-      <field name="parent">
-        <type name="Behaviour" c:type="ClutterBehaviour"/>
-      </field>
-      <field name="priv">
-        <type name="BehaviourOpacityPrivate"
-              c:type="ClutterBehaviourOpacityPrivate*"/>
-      </field>
-    </class>
-    <record name="BehaviourOpacityClass"
-            c:type="ClutterBehaviourOpacityClass"
-            glib:is-gtype-struct-for="BehaviourOpacity"
-            version="0.2">
-      <doc xml:whitespace="preserve">The #ClutterBehaviourOpacityClass structure contains only private data</doc>
-      <field name="parent_class">
-        <type name="BehaviourClass" c:type="ClutterBehaviourClass"/>
-      </field>
-    </record>
-    <record name="BehaviourOpacityPrivate"
-            c:type="ClutterBehaviourOpacityPrivate"
-            disguised="1">
-    </record>
-    <class name="BehaviourPath"
-           c:symbol-prefix="behaviour_path"
-           c:type="ClutterBehaviourPath"
-           version="0.2"
-           parent="Behaviour"
-           glib:type-name="ClutterBehaviourPath"
-           glib:get-type="clutter_behaviour_path_get_type"
-           glib:type-struct="BehaviourPathClass">
-      <doc xml:whitespace="preserve">The #ClutterBehaviourPath structure contains only private data
-and should be accessed using the provided API</doc>
-      <implements name="Scriptable"/>
-      <constructor name="new"
-                   c:identifier="clutter_behaviour_path_new"
-                   version="0.2">
-        <doc xml:whitespace="preserve">Creates a new path behaviour. You can use this behaviour to drive
-actors along the nodes of a path, described by @path.
-This will claim the floating reference on the #ClutterPath so you
-do not need to unref if it.
-If @alpha is not %NULL, the #ClutterBehaviour will take ownership
-of the #ClutterAlpha instance. In the case when @alpha is %NULL,
-it can be set later with clutter_behaviour_set_alpha().</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a #ClutterBehaviour</doc>
-          <type name="Behaviour" c:type="ClutterBehaviour*"/>
-        </return-value>
-        <parameters>
-          <parameter name="alpha" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #ClutterAlpha instance, or %NULL</doc>
-            <type name="Alpha" c:type="ClutterAlpha*"/>
-          </parameter>
-          <parameter name="path" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterPath or %NULL for an empty path</doc>
-            <type name="Path" c:type="ClutterPath*"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <constructor name="new_with_description"
-                   c:identifier="clutter_behaviour_path_new_with_description"
-                   version="1.0">
-        <doc xml:whitespace="preserve">Creates a new path behaviour using the path described by @desc. See
-clutter_path_add_string() for a description of the format.
-If @alpha is not %NULL, the #ClutterBehaviour will take ownership
-of the #ClutterAlpha instance. In the case when @alpha is %NULL,
-it can be set later with clutter_behaviour_set_alpha().</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a #ClutterBehaviour</doc>
-          <type name="Behaviour" c:type="ClutterBehaviour*"/>
-        </return-value>
-        <parameters>
-          <parameter name="alpha" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #ClutterAlpha instance, or %NULL</doc>
-            <type name="Alpha" c:type="ClutterAlpha*"/>
-          </parameter>
-          <parameter name="desc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string description of the path</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <constructor name="new_with_knots"
-                   c:identifier="clutter_behaviour_path_new_with_knots"
-                   version="1.0">
-        <doc xml:whitespace="preserve">Creates a new path behaviour that will make the actors visit all of
-the given knots in order with straight lines in between.
-A path will be created where the first knot is used in a
-%CLUTTER_PATH_MOVE_TO and the subsequent knots are used in
-%CLUTTER_PATH_LINE_TO&lt;!-- --&gt;s.
-If @alpha is not %NULL, the #ClutterBehaviour will take ownership
-of the #ClutterAlpha instance. In the case when @alpha is %NULL,
-it can be set later with clutter_behaviour_set_alpha().</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a #ClutterBehaviour</doc>
-          <type name="Behaviour" c:type="ClutterBehaviour*"/>
-        </return-value>
-        <parameters>
-          <parameter name="alpha" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #ClutterAlpha instance, or %NULL</doc>
-            <type name="Alpha" c:type="ClutterAlpha*"/>
-          </parameter>
-          <parameter name="knots" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an array of #ClutterKnot&lt;!-- --&gt;s</doc>
-            <type name="Knot" c:type="ClutterKnot*"/>
-          </parameter>
-          <parameter name="n_knots" transfer-ownership="none">
-            <doc xml:whitespace="preserve">number of entries in @knots</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="get_path"
-              c:identifier="clutter_behaviour_path_get_path"
-              version="1.0">
-        <doc xml:whitespace="preserve">Get the current path of the behaviour</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the path</doc>
-          <type name="Path" c:type="ClutterPath*"/>
-        </return-value>
-      </method>
-      <method name="set_path"
-              c:identifier="clutter_behaviour_path_set_path"
-              version="1.0">
-        <doc xml:whitespace="preserve">Change the path that the actors will follow. This will take the
-floating reference on the #ClutterPath so you do not need to unref
-it.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="path" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the new path to follow</doc>
-            <type name="Path" c:type="ClutterPath*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="path" writable="1" transfer-ownership="none">
-        <type name="Path"/>
-      </property>
-      <field name="parent">
-        <type name="Behaviour" c:type="ClutterBehaviour"/>
-      </field>
-      <field name="priv">
-        <type name="BehaviourPathPrivate"
-              c:type="ClutterBehaviourPathPrivate*"/>
-      </field>
-      <glib:signal name="knot-reached" version="0.2">
-        <doc xml:whitespace="preserve">This signal is emitted each time a node defined inside the path
-is reached.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the index of the #ClutterKnot reached</doc>
-            <type name="guint"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-    </class>
-    <record name="BehaviourPathClass"
-            c:type="ClutterBehaviourPathClass"
-            glib:is-gtype-struct-for="BehaviourPath">
-      <field name="parent_class">
-        <type name="BehaviourClass" c:type="ClutterBehaviourClass"/>
-      </field>
-      <field name="knot_reached">
-        <callback name="knot_reached">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="pathb" transfer-ownership="none">
-              <type name="BehaviourPath" c:type="ClutterBehaviourPath*"/>
-            </parameter>
-            <parameter name="knot_num" transfer-ownership="none">
-              <type name="guint" c:type="guint"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_clutter_path_1" introspectable="0">
-        <callback name="_clutter_path_1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_path_2" introspectable="0">
-        <callback name="_clutter_path_2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_path_3" introspectable="0">
-        <callback name="_clutter_path_3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_path_4" introspectable="0">
-        <callback name="_clutter_path_4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <record name="BehaviourPathPrivate"
-            c:type="ClutterBehaviourPathPrivate"
-            disguised="1">
-    </record>
-    <record name="BehaviourPrivate"
-            c:type="ClutterBehaviourPrivate"
-            disguised="1">
-    </record>
-    <class name="BehaviourRotate"
-           c:symbol-prefix="behaviour_rotate"
-           c:type="ClutterBehaviourRotate"
-           version="0.4"
-           parent="Behaviour"
-           glib:type-name="ClutterBehaviourRotate"
-           glib:get-type="clutter_behaviour_rotate_get_type"
-           glib:type-struct="BehaviourRotateClass">
-      <doc xml:whitespace="preserve">The #ClutterBehaviourRotate struct contains only private data and
-should be accessed using the provided API</doc>
-      <implements name="Scriptable"/>
-      <constructor name="new"
-                   c:identifier="clutter_behaviour_rotate_new"
-                   version="0.4">
-        <doc xml:whitespace="preserve">Creates a new #ClutterBehaviourRotate. This behaviour will rotate actors
-bound to it on @axis, following @direction, between @angle_start and
-&lt;0, 360), if angle_start == angle_end, the behaviour will carry out a
-single rotation of 360 degrees.
-If @alpha is not %NULL, the #ClutterBehaviour will take ownership
-of the #ClutterAlpha instance. In the case when @alpha is %NULL,
-it can be set later with clutter_behaviour_set_alpha().</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created #ClutterBehaviourRotate.</doc>
-          <type name="Behaviour" c:type="ClutterBehaviour*"/>
-        </return-value>
-        <parameters>
-          <parameter name="alpha" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #ClutterAlpha instance, or %NULL</doc>
-            <type name="Alpha" c:type="ClutterAlpha*"/>
-          </parameter>
-          <parameter name="axis" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the rotation axis</doc>
-            <type name="RotateAxis" c:type="ClutterRotateAxis"/>
-          </parameter>
-          <parameter name="direction" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the rotation direction</doc>
-            <type name="RotateDirection" c:type="ClutterRotateDirection"/>
-          </parameter>
-          <parameter name="angle_start" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the starting angle in degrees, between 0 and 360.</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="angle_end" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the final angle in degrees, between 0 and 360.</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="get_axis"
-              c:identifier="clutter_behaviour_rotate_get_axis"
-              version="0.4">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterRotateAxis used by the rotate behaviour.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the rotation axis</doc>
-          <type name="RotateAxis" c:type="ClutterRotateAxis"/>
-        </return-value>
-      </method>
-      <method name="get_bounds"
-              c:identifier="clutter_behaviour_rotate_get_bounds"
-              version="0.4">
-        <doc xml:whitespace="preserve">Retrieves the rotation boundaries of the rotate behaviour.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="angle_start" transfer-ownership="none">
-            <doc xml:whitespace="preserve">return value for the initial angle</doc>
-            <type name="gdouble" c:type="gdouble*"/>
-          </parameter>
-          <parameter name="angle_end" transfer-ownership="none">
-            <doc xml:whitespace="preserve">return value for the final angle</doc>
-            <type name="gdouble" c:type="gdouble*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_center"
-              c:identifier="clutter_behaviour_rotate_get_center"
-              version="0.4">
-        <doc xml:whitespace="preserve">Retrieves the center of rotation set using
-clutter_behaviour_rotate_set_center().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the X center of rotation</doc>
-            <type name="gint" c:type="gint*"/>
-          </parameter>
-          <parameter name="y"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the Y center of rotation</doc>
-            <type name="gint" c:type="gint*"/>
-          </parameter>
-          <parameter name="z"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the Z center of rotation</doc>
-            <type name="gint" c:type="gint*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_direction"
-              c:identifier="clutter_behaviour_rotate_get_direction"
-              version="0.4">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterRotateDirection used by the rotate behaviour.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the rotation direction</doc>
-          <type name="RotateDirection" c:type="ClutterRotateDirection"/>
-        </return-value>
-      </method>
-      <method name="set_axis"
-              c:identifier="clutter_behaviour_rotate_set_axis"
-              version="0.4">
-        <doc xml:whitespace="preserve">Sets the axis used by the rotate behaviour.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="axis" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterRotateAxis</doc>
-            <type name="RotateAxis" c:type="ClutterRotateAxis"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_bounds"
-              c:identifier="clutter_behaviour_rotate_set_bounds"
-              version="0.4">
-        <doc xml:whitespace="preserve">Sets the initial and final angles of a rotation behaviour; angles &gt;= 360
-degrees get clamped to the canonical interval &lt;0, 360).</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="angle_start" transfer-ownership="none">
-            <doc xml:whitespace="preserve">initial angle in degrees, between 0 and 360.</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="angle_end" transfer-ownership="none">
-            <doc xml:whitespace="preserve">final angle in degrees, between 0 and 360.</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_center"
-              c:identifier="clutter_behaviour_rotate_set_center"
-              version="0.4">
-        <doc xml:whitespace="preserve">Sets the center of rotation. The coordinates are relative to the plane
-normal to the rotation axis set with clutter_behaviour_rotate_set_axis().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">X axis center of rotation</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Y axis center of rotation</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="z" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Z axis center of rotation</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_direction"
-              c:identifier="clutter_behaviour_rotate_set_direction"
-              version="0.4">
-        <doc xml:whitespace="preserve">Sets the rotation direction used by the rotate behaviour.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="direction" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the rotation direction</doc>
-            <type name="RotateDirection" c:type="ClutterRotateDirection"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="angle-end"
-                version="0.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The final angle to where the rotation should end.</doc>
-        <type name="gdouble"/>
-      </property>
-      <property name="angle-start"
-                version="0.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The initial angle from whence the rotation should start.</doc>
-        <type name="gdouble"/>
-      </property>
-      <property name="axis"
-                version="0.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The axis of rotation.</doc>
-        <type name="RotateAxis"/>
-      </property>
-      <property name="center-x"
-                version="0.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The x center of rotation.</doc>
-        <type name="gint"/>
-      </property>
-      <property name="center-y"
-                version="0.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The y center of rotation.</doc>
-        <type name="gint"/>
-      </property>
-      <property name="center-z"
-                version="0.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The z center of rotation.</doc>
-        <type name="gint"/>
-      </property>
-      <property name="direction"
-                version="0.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The direction of the rotation.</doc>
-        <type name="RotateDirection"/>
-      </property>
-      <field name="parent_instance">
-        <type name="Behaviour" c:type="ClutterBehaviour"/>
-      </field>
-      <field name="priv">
-        <type name="BehaviourRotatePrivate"
-              c:type="ClutterBehaviourRotatePrivate*"/>
-      </field>
-    </class>
-    <record name="BehaviourRotateClass"
-            c:type="ClutterBehaviourRotateClass"
-            glib:is-gtype-struct-for="BehaviourRotate"
-            version="0.4">
-      <doc xml:whitespace="preserve">The #ClutterBehaviourRotateClass struct contains only private data</doc>
-      <field name="parent_class">
-        <type name="BehaviourClass" c:type="ClutterBehaviourClass"/>
-      </field>
-    </record>
-    <record name="BehaviourRotatePrivate"
-            c:type="ClutterBehaviourRotatePrivate"
-            disguised="1">
-    </record>
-    <class name="BehaviourScale"
-           c:symbol-prefix="behaviour_scale"
-           c:type="ClutterBehaviourScale"
-           version="0.2"
-           parent="Behaviour"
-           glib:type-name="ClutterBehaviourScale"
-           glib:get-type="clutter_behaviour_scale_get_type"
-           glib:type-struct="BehaviourScaleClass">
-      <doc xml:whitespace="preserve">The #ClutterBehaviourScale struct contains only private data and
-should be accessed using the provided API</doc>
-      <implements name="Scriptable"/>
-      <constructor name="new"
-                   c:identifier="clutter_behaviour_scale_new"
-                   version="0.2">
-        <doc xml:whitespace="preserve">Creates a new  #ClutterBehaviourScale instance.
-If @alpha is not %NULL, the #ClutterBehaviour will take ownership
-of the #ClutterAlpha instance. In the case when @alpha is %NULL,
-it can be set later with clutter_behaviour_set_alpha().</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created #ClutterBehaviourScale</doc>
-          <type name="Behaviour" c:type="ClutterBehaviour*"/>
-        </return-value>
-        <parameters>
-          <parameter name="alpha" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #ClutterAlpha instance, or %NULL</doc>
-            <type name="Alpha" c:type="ClutterAlpha*"/>
-          </parameter>
-          <parameter name="x_scale_start" transfer-ownership="none">
-            <doc xml:whitespace="preserve">initial scale factor on the X axis</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="y_scale_start" transfer-ownership="none">
-            <doc xml:whitespace="preserve">initial scale factor on the Y axis</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="x_scale_end" transfer-ownership="none">
-            <doc xml:whitespace="preserve">final scale factor on the X axis</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="y_scale_end" transfer-ownership="none">
-            <doc xml:whitespace="preserve">final scale factor on the Y axis</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="get_bounds"
-              c:identifier="clutter_behaviour_scale_get_bounds"
-              version="0.4">
-        <doc xml:whitespace="preserve">Retrieves the bounds used by scale behaviour.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x_scale_start"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the initial scale factor on the X axis, or %NULL</doc>
-            <type name="gdouble" c:type="gdouble*"/>
-          </parameter>
-          <parameter name="y_scale_start"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the initial scale factor on the Y axis, or %NULL</doc>
-            <type name="gdouble" c:type="gdouble*"/>
-          </parameter>
-          <parameter name="x_scale_end"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the final scale factor on the X axis, or %NULL</doc>
-            <type name="gdouble" c:type="gdouble*"/>
-          </parameter>
-          <parameter name="y_scale_end"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the final scale factor on the Y axis, or %NULL</doc>
-            <type name="gdouble" c:type="gdouble*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_bounds"
-              c:identifier="clutter_behaviour_scale_set_bounds"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sets the bounds used by scale behaviour.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x_scale_start" transfer-ownership="none">
-            <doc xml:whitespace="preserve">initial scale factor on the X axis</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="y_scale_start" transfer-ownership="none">
-            <doc xml:whitespace="preserve">initial scale factor on the Y axis</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="x_scale_end" transfer-ownership="none">
-            <doc xml:whitespace="preserve">final scale factor on the X axis</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="y_scale_end" transfer-ownership="none">
-            <doc xml:whitespace="preserve">final scale factor on the Y axis</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="x-scale-end"
-                version="0.6"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The final scaling factor on the X axis for the actors.</doc>
-        <type name="gdouble"/>
-      </property>
-      <property name="x-scale-start"
-                version="0.6"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The initial scaling factor on the X axis for the actors.</doc>
-        <type name="gdouble"/>
-      </property>
-      <property name="y-scale-end"
-                version="0.6"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The final scaling factor on the Y axis for the actors.</doc>
-        <type name="gdouble"/>
-      </property>
-      <property name="y-scale-start"
-                version="0.6"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The initial scaling factor on the Y axis for the actors.</doc>
-        <type name="gdouble"/>
-      </property>
-      <field name="parent_instance">
-        <type name="Behaviour" c:type="ClutterBehaviour"/>
-      </field>
-      <field name="priv">
-        <type name="BehaviourScalePrivate"
-              c:type="ClutterBehaviourScalePrivate*"/>
-      </field>
-    </class>
-    <record name="BehaviourScaleClass"
-            c:type="ClutterBehaviourScaleClass"
-            glib:is-gtype-struct-for="BehaviourScale"
-            version="0.2">
-      <doc xml:whitespace="preserve">The #ClutterBehaviourScaleClass struct contains only private data</doc>
-      <field name="parent_class">
-        <type name="BehaviourClass" c:type="ClutterBehaviourClass"/>
-      </field>
-    </record>
-    <record name="BehaviourScalePrivate"
-            c:type="ClutterBehaviourScalePrivate"
-            disguised="1">
-    </record>
-    <enumeration name="BinAlignment"
-                 version="1.2"
-                 glib:type-name="ClutterBinAlignment"
-                 glib:get-type="clutter_bin_alignment_get_type"
-                 c:type="ClutterBinAlignment">
-      <doc xml:whitespace="preserve">The alignment policies available on each axis for #ClutterBinLayout</doc>
-      <member name="fixed"
-              value="0"
-              c:identifier="CLUTTER_BIN_ALIGNMENT_FIXED"
-              glib:nick="fixed"/>
-      <member name="fill"
-              value="1"
-              c:identifier="CLUTTER_BIN_ALIGNMENT_FILL"
-              glib:nick="fill"/>
-      <member name="start"
-              value="2"
-              c:identifier="CLUTTER_BIN_ALIGNMENT_START"
-              glib:nick="start"/>
-      <member name="end"
-              value="3"
-              c:identifier="CLUTTER_BIN_ALIGNMENT_END"
-              glib:nick="end"/>
-      <member name="center"
-              value="4"
-              c:identifier="CLUTTER_BIN_ALIGNMENT_CENTER"
-              glib:nick="center"/>
-    </enumeration>
-    <class name="BinLayout"
-           c:symbol-prefix="bin_layout"
-           c:type="ClutterBinLayout"
-           version="1.2"
-           parent="LayoutManager"
-           glib:type-name="ClutterBinLayout"
-           glib:get-type="clutter_bin_layout_get_type"
-           glib:type-struct="BinLayoutClass">
-      <doc xml:whitespace="preserve">The #ClutterBinLayout structure contains only private data
-and should be accessed using the provided API</doc>
-      <constructor name="new"
-                   c:identifier="clutter_bin_layout_new"
-                   version="1.2">
-        <doc xml:whitespace="preserve">Creates a new #ClutterBinLayout layout manager</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created layout manager</doc>
-          <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
-        </return-value>
-        <parameters>
-          <parameter name="x_align" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the default alignment policy to be used on the horizontal axis</doc>
-            <type name="BinAlignment" c:type="ClutterBinAlignment"/>
-          </parameter>
-          <parameter name="y_align" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the default alignment policy to be used on the vertical axis</doc>
-            <type name="BinAlignment" c:type="ClutterBinAlignment"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="add" c:identifier="clutter_bin_layout_add" version="1.2">
-        <doc xml:whitespace="preserve">Adds a #ClutterActor to the container using @self and
-sets the alignment policies for it
-This function is equivalent to clutter_container_add_actor()
-and clutter_layout_manager_child_set_property() but it does not
-require a pointer to the #ClutterContainer associated to the
-#ClutterBinLayout</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="child" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="x_align" transfer-ownership="none">
-            <doc xml:whitespace="preserve">horizontal alignment policy for @child</doc>
-            <type name="BinAlignment" c:type="ClutterBinAlignment"/>
-          </parameter>
-          <parameter name="y_align" transfer-ownership="none">
-            <doc xml:whitespace="preserve">vertical alignment policy for @child</doc>
-            <type name="BinAlignment" c:type="ClutterBinAlignment"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_alignment"
-              c:identifier="clutter_bin_layout_get_alignment"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the horizontal and vertical alignment policies for
-a child of @self
-If @child is %NULL the default alignment policies will be returned
-instead</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="child" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a child of @container</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="x_align"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the horizontal alignment policy</doc>
-            <type name="BinAlignment" c:type="ClutterBinAlignment*"/>
-          </parameter>
-          <parameter name="y_align"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the vertical alignment policy</doc>
-            <type name="BinAlignment" c:type="ClutterBinAlignment*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_alignment"
-              c:identifier="clutter_bin_layout_set_alignment"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets the horizontal and vertical alignment policies to be applied
-to a @child of @self
-If @child is %NULL then the @x_align and @y_align values will
-be set as the default alignment policies</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="child" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a child of @container</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="x_align" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the horizontal alignment policy to be used for the @child inside @container</doc>
-            <type name="BinAlignment" c:type="ClutterBinAlignment"/>
-          </parameter>
-          <parameter name="y_align" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the vertical aligment policy to be used on the @child inside @container</doc>
-            <type name="BinAlignment" c:type="ClutterBinAlignment"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="x-align"
-                version="1.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The default horizontal alignment policy for actors managed
-by the #ClutterBinLayout</doc>
-        <type name="BinAlignment"/>
-      </property>
-      <property name="y-align"
-                version="1.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The default vertical alignment policy for actors managed
-by the #ClutterBinLayout</doc>
-        <type name="BinAlignment"/>
-      </property>
-      <field name="parent_instance">
-        <type name="LayoutManager" c:type="ClutterLayoutManager"/>
-      </field>
-      <field name="priv">
-        <type name="BinLayoutPrivate" c:type="ClutterBinLayoutPrivate*"/>
-      </field>
-    </class>
-    <record name="BinLayoutClass"
-            c:type="ClutterBinLayoutClass"
-            glib:is-gtype-struct-for="BinLayout"
-            version="1.2">
-      <doc xml:whitespace="preserve">The #ClutterBinLayoutClass structure contains only private
-data and should be accessed using the provided API</doc>
-      <field name="parent_class">
-        <type name="LayoutManagerClass" c:type="ClutterLayoutManagerClass"/>
-      </field>
-    </record>
-    <record name="BinLayoutPrivate"
-            c:type="ClutterBinLayoutPrivate"
-            disguised="1">
-    </record>
-    <class name="BindConstraint"
-           c:symbol-prefix="bind_constraint"
-           c:type="ClutterBindConstraint"
-           version="1.4"
-           parent="Constraint"
-           glib:type-name="ClutterBindConstraint"
-           glib:get-type="clutter_bind_constraint_get_type">
-      <doc xml:whitespace="preserve">&lt;structname&gt;ClutterBindConstraint&lt;/structname&gt; is an opaque structure
-whose members cannot be directly accessed</doc>
-      <constructor name="new"
-                   c:identifier="clutter_bind_constraint_new"
-                   version="1.4">
-        <doc xml:whitespace="preserve">Creates a new constraint, binding a #ClutterActor's position to
-the given @coordinate of the position of @source</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #ClutterBindConstraint</doc>
-          <type name="Constraint" c:type="ClutterConstraint*"/>
-        </return-value>
-        <parameters>
-          <parameter name="source" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the #ClutterActor to use as the source of the binding, or %NULL</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="coordinate" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the coordinate to bind</doc>
-            <type name="BindCoordinate" c:type="ClutterBindCoordinate"/>
-          </parameter>
-          <parameter name="offset" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the offset to apply to the binding, in pixels</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="get_coordinate"
-              c:identifier="clutter_bind_constraint_get_coordinate"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the bound coordinate of the constraint</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the bound coordinate</doc>
-          <type name="BindCoordinate" c:type="ClutterBindCoordinate"/>
-        </return-value>
-      </method>
-      <method name="get_offset"
-              c:identifier="clutter_bind_constraint_get_offset"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the offset set using clutter_bind_constraint_set_offset()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the offset, in pixels</doc>
-          <type name="gfloat" c:type="gfloat"/>
-        </return-value>
-      </method>
-      <method name="get_source"
-              c:identifier="clutter_bind_constraint_get_source"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterActor set using clutter_bind_constraint_set_source()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to the source actor</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-      </method>
-      <method name="set_coordinate"
-              c:identifier="clutter_bind_constraint_set_coordinate"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the coordinate to bind in the constraint</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="coordinate" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the coordinate to bind</doc>
-            <type name="BindCoordinate" c:type="ClutterBindCoordinate"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_offset"
-              c:identifier="clutter_bind_constraint_set_offset"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the offset to be applied to the constraint</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="offset" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the offset to apply, in pixels</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_source"
-              c:identifier="clutter_bind_constraint_set_source"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the source #ClutterActor for the constraint</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="source" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #ClutterActor, or %NULL to unset the source</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="coordinate"
-                version="1.4"
-                writable="1"
-                construct="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The coordinate to be bound</doc>
-        <type name="BindCoordinate"/>
-      </property>
-      <property name="offset"
-                version="1.4"
-                writable="1"
-                construct="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The offset, in pixels, to be applied to the binding</doc>
-        <type name="gfloat"/>
-      </property>
-      <property name="source"
-                version="1.4"
-                writable="1"
-                construct="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The #ClutterActor used as the source for the binding</doc>
-        <type name="Actor"/>
-      </property>
-    </class>
-    <enumeration name="BindCoordinate"
-                 version="1.4"
-                 glib:type-name="ClutterBindCoordinate"
-                 glib:get-type="clutter_bind_coordinate_get_type"
-                 c:type="ClutterBindCoordinate">
-      <doc xml:whitespace="preserve">Specifies which property should be used in a binding</doc>
-      <member name="x" value="0" c:identifier="CLUTTER_BIND_X" glib:nick="x"/>
-      <member name="y" value="1" c:identifier="CLUTTER_BIND_Y" glib:nick="y"/>
-      <member name="width"
-              value="2"
-              c:identifier="CLUTTER_BIND_WIDTH"
-              glib:nick="width"/>
-      <member name="height"
-              value="3"
-              c:identifier="CLUTTER_BIND_HEIGHT"
-              glib:nick="height"/>
-    </enumeration>
-    <callback name="BindingActionFunc"
-              c:type="ClutterBindingActionFunc"
-              version="1.0">
-      <doc xml:whitespace="preserve">The prototype for the callback function registered with
-clutter_binding_pool_install_action() and invoked by
-clutter_binding_pool_activate().
-binding has been handled, and return %FALSE otherwise</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the function should return %TRUE if the key</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="gobject" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GObject</doc>
-          <type name="GObject.Object" c:type="GObject*"/>
-        </parameter>
-        <parameter name="action_name" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the name of the action</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </parameter>
-        <parameter name="key_val" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the key symbol</doc>
-          <type name="guint" c:type="guint"/>
-        </parameter>
-        <parameter name="modifiers" transfer-ownership="none">
-          <doc xml:whitespace="preserve">bitmask of the modifier flags</doc>
-          <type name="ModifierType" c:type="ClutterModifierType"/>
-        </parameter>
-      </parameters>
-    </callback>
-    <class name="BindingPool"
-           c:symbol-prefix="binding_pool"
-           c:type="ClutterBindingPool"
-           version="1.0"
-           parent="GObject.Object"
-           glib:type-name="ClutterBindingPool"
-           glib:get-type="clutter_binding_pool_get_type">
-      <doc xml:whitespace="preserve">Container of key bindings. The #ClutterBindingPool struct is
-private.</doc>
-      <constructor name="new"
-                   c:identifier="clutter_binding_pool_new"
-                   version="1.0">
-        <doc xml:whitespace="preserve">Creates a new #ClutterBindingPool that can be used to store
-key bindings for an actor. The @name must be a unique identifier
-for the binding pool, so that clutter_binding_pool_find() will
-be able to return the correct binding pool.
-name. Use g_object_unref() when done.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created binding pool with the given</doc>
-          <type name="BindingPool" c:type="ClutterBindingPool*"/>
-        </return-value>
-        <parameters>
-          <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the binding pool</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <function name="find"
-                c:identifier="clutter_binding_pool_find"
-                version="1.0">
-        <doc xml:whitespace="preserve">Finds the #ClutterBindingPool with @name.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to the #ClutterBindingPool, or %NULL</doc>
-          <type name="BindingPool" c:type="ClutterBindingPool*"/>
-        </return-value>
-        <parameters>
-          <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the binding pool to find</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </function>
-      <function name="get_for_class"
-                c:identifier="clutter_binding_pool_get_for_class"
-                version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterBindingPool for the given #GObject class
-and, eventually, creates it. This function is a wrapper around
-clutter_binding_pool_new() and uses the class type name as the
-unique name for the binding pool.
-Calling this function multiple times will return the same
-#ClutterBindingPool.
-A binding pool for a class can also be retrieved using
-clutter_binding_pool_find() with the class type name:
-|[
-pool = clutter_binding_pool_find (G_OBJECT_TYPE_NAME (instance));
-]|
-The returned #ClutterBindingPool is owned by Clutter and should not
-be freed directly</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the binding pool for the given class.</doc>
-          <type name="BindingPool" c:type="ClutterBindingPool*"/>
-        </return-value>
-        <parameters>
-          <parameter name="klass" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GObjectClass pointer</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-        </parameters>
-      </function>
-      <method name="activate"
-              c:identifier="clutter_binding_pool_activate"
-              version="1.0">
-        <doc xml:whitespace="preserve">Activates the callback associated to the action that is
-bound to the @key_val and @modifiers pair.
-The callback has the following signature:
-|[
-void (* callback) (GObject             *gobject,
-const gchar         *action_name,
-guint                key_val,
-ClutterModifierType  modifiers,
-gpointer             user_data);
-]|
-Where the #GObject instance is @gobject and the user data
-is the one passed when installing the action with
-clutter_binding_pool_install_action().
-If the action bound to the @key_val, @modifiers pair has been
-blocked using clutter_binding_pool_block_action(), the callback
-will not be invoked, and this function will return %FALSE.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if an action was found and was activated</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="key_val" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the key symbol</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="modifiers" transfer-ownership="none">
-            <doc xml:whitespace="preserve">bitmask for the modifiers</doc>
-            <type name="ModifierType" c:type="ClutterModifierType"/>
-          </parameter>
-          <parameter name="gobject" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GObject</doc>
-            <type name="GObject.Object" c:type="GObject*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="block_action"
-              c:identifier="clutter_binding_pool_block_action"
-              version="1.0">
-        <doc xml:whitespace="preserve">Blocks all the actions with name @action_name inside @pool.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="action_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an action name</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="find_action"
-              c:identifier="clutter_binding_pool_find_action"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the name of the action matching the given key symbol
-and modifiers bitmask.
-returned string is owned by the binding pool and should never
-be modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the name of the action, if found, or %NULL. The</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-        <parameters>
-          <parameter name="key_val" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a key symbol</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="modifiers" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a bitmask for the modifiers</doc>
-            <type name="ModifierType" c:type="ClutterModifierType"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="install_action"
-              c:identifier="clutter_binding_pool_install_action"
-              version="1.0">
-        <doc xml:whitespace="preserve">Installs a new action inside a #ClutterBindingPool. The action
-is bound to @key_val and @modifiers.
-The same action name can be used for multiple @key_val, @modifiers
-pairs.
-When an action has been activated using clutter_binding_pool_activate()
-the passed @callback will be invoked (with @data).
-Actions can be blocked with clutter_binding_pool_block_action()
-and then unblocked using clutter_binding_pool_unblock_action().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="action_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the action</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="key_val" transfer-ownership="none">
-            <doc xml:whitespace="preserve">key symbol</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="modifiers" transfer-ownership="none">
-            <doc xml:whitespace="preserve">bitmask of modifiers</doc>
-            <type name="ModifierType" c:type="ClutterModifierType"/>
-          </parameter>
-          <parameter name="callback"
-                     transfer-ownership="none"
-                     scope="notified"
-                     closure="4"
-                     destroy="5">
-            <doc xml:whitespace="preserve">function to be called when the action is activated</doc>
-            <type name="GObject.Callback" c:type="GCallback"/>
-          </parameter>
-          <parameter name="data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">data to be passed to @callback</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-          <parameter name="notify" transfer-ownership="none" scope="async">
-            <doc xml:whitespace="preserve">function to be called when the action is removed from the pool</doc>
-            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="install_closure"
-              c:identifier="clutter_binding_pool_install_closure"
-              version="1.0">
-        <doc xml:whitespace="preserve">A #GClosure variant of clutter_binding_pool_install_action().
-Installs a new action inside a #ClutterBindingPool. The action
-is bound to @key_val and @modifiers.
-The same action name can be used for multiple @key_val, @modifiers
-pairs.
-When an action has been activated using clutter_binding_pool_activate()
-the passed @closure will be invoked.
-Actions can be blocked with clutter_binding_pool_block_action()
-and then unblocked using clutter_binding_pool_unblock_action().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="action_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the action</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="key_val" transfer-ownership="none">
-            <doc xml:whitespace="preserve">key symbol</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="modifiers" transfer-ownership="none">
-            <doc xml:whitespace="preserve">bitmask of modifiers</doc>
-            <type name="ModifierType" c:type="ClutterModifierType"/>
-          </parameter>
-          <parameter name="closure" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GClosure</doc>
-            <type name="GObject.Closure" c:type="GClosure*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="override_action"
-              c:identifier="clutter_binding_pool_override_action"
-              version="1.0">
-        <doc xml:whitespace="preserve">Allows overriding the action for @key_val and @modifiers inside a
-#ClutterBindingPool. See clutter_binding_pool_install_action().
-When an action has been activated using clutter_binding_pool_activate()
-the passed @callback will be invoked (with @data).
-Actions can be blocked with clutter_binding_pool_block_action()
-and then unblocked using clutter_binding_pool_unblock_action().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="key_val" transfer-ownership="none">
-            <doc xml:whitespace="preserve">key symbol</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="modifiers" transfer-ownership="none">
-            <doc xml:whitespace="preserve">bitmask of modifiers</doc>
-            <type name="ModifierType" c:type="ClutterModifierType"/>
-          </parameter>
-          <parameter name="callback"
-                     transfer-ownership="none"
-                     scope="notified"
-                     closure="3"
-                     destroy="4">
-            <doc xml:whitespace="preserve">function to be called when the action is activated</doc>
-            <type name="GObject.Callback" c:type="GCallback"/>
-          </parameter>
-          <parameter name="data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">data to be passed to @callback</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-          <parameter name="notify" transfer-ownership="none" scope="async">
-            <doc xml:whitespace="preserve">function to be called when the action is removed from the pool</doc>
-            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="override_closure"
-              c:identifier="clutter_binding_pool_override_closure"
-              version="1.0">
-        <doc xml:whitespace="preserve">A #GClosure variant of clutter_binding_pool_override_action().
-Allows overriding the action for @key_val and @modifiers inside a
-#ClutterBindingPool. See clutter_binding_pool_install_closure().
-When an action has been activated using clutter_binding_pool_activate()
-the passed @callback will be invoked (with @data).
-Actions can be blocked with clutter_binding_pool_block_action()
-and then unblocked using clutter_binding_pool_unblock_action().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="key_val" transfer-ownership="none">
-            <doc xml:whitespace="preserve">key symbol</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="modifiers" transfer-ownership="none">
-            <doc xml:whitespace="preserve">bitmask of modifiers</doc>
-            <type name="ModifierType" c:type="ClutterModifierType"/>
-          </parameter>
-          <parameter name="closure" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GClosure</doc>
-            <type name="GObject.Closure" c:type="GClosure*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="remove_action"
-              c:identifier="clutter_binding_pool_remove_action"
-              version="1.0">
-        <doc xml:whitespace="preserve">Removes the action matching the given @key_val, @modifiers pair,
-if any exists.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="key_val" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a key symbol</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="modifiers" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a bitmask for the modifiers</doc>
-            <type name="ModifierType" c:type="ClutterModifierType"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="unblock_action"
-              c:identifier="clutter_binding_pool_unblock_action"
-              version="1.0">
-        <doc xml:whitespace="preserve">Unblockes all the actions with name @action_name inside @pool.
-Unblocking an action does not cause the callback bound to it to
-be invoked in case clutter_binding_pool_activate() was called on
-an action previously blocked with clutter_binding_pool_block_action().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="action_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an action name</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="name"
-                version="1.0"
-                writable="1"
-                construct-only="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The unique name of the #ClutterBindingPool.</doc>
-        <type name="utf8"/>
-      </property>
-    </class>
-    <constant name="Blue" value="269025190">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Bluetooth" value="269025172">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="BlurEffect"
-           c:symbol-prefix="blur_effect"
-           c:type="ClutterBlurEffect"
-           version="1.4"
-           parent="OffscreenEffect"
-           glib:type-name="ClutterBlurEffect"
-           glib:get-type="clutter_blur_effect_get_type">
-      <doc xml:whitespace="preserve">&lt;structname&gt;ClutterBlurEffect&lt;/structname&gt; is an opaque structure
-whose members cannot be accessed directly</doc>
-      <constructor name="new"
-                   c:identifier="clutter_blur_effect_new"
-                   version="1.4">
-        <doc xml:whitespace="preserve">Creates a new #ClutterBlurEffect to be used with
-clutter_actor_add_effect()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #ClutterBlurEffect or %NULL</doc>
-          <type name="Effect" c:type="ClutterEffect*"/>
-        </return-value>
-      </constructor>
-    </class>
-    <constant name="Book" value="269025106">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="BounceKeys_Enable" value="65140">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="Box"
-           c:symbol-prefix="box"
-           c:type="ClutterBox"
-           version="1.2"
-           parent="Actor"
-           glib:type-name="ClutterBox"
-           glib:get-type="clutter_box_get_type"
-           glib:type-struct="BoxClass">
-      <doc xml:whitespace="preserve">The #ClutterBox structure contains only private data and should
-be accessed using the provided API</doc>
-      <implements name="Atk.ImplementorIface"/>
-      <implements name="Animatable"/>
-      <implements name="Container"/>
-      <implements name="Scriptable"/>
-      <constructor name="new" c:identifier="clutter_box_new" version="1.0">
-        <doc xml:whitespace="preserve">Creates a new #ClutterBox. The children of the box will be layed
-out by the passed @manager</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #ClutterBox actor</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-        <parameters>
-          <parameter name="manager" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterLayoutManager</doc>
-            <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="get_color"
-              c:identifier="clutter_box_get_color"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the background color of @box
-If the #ClutterBox:color-set property is set to %FALSE the
-returned #ClutterColor is undefined</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="color"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for a #ClutterColor</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_layout_manager"
-              c:identifier="clutter_box_get_layout_manager"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterLayoutManager instance used by @box
-#ClutterLayoutManager is owned by the #ClutterBox and it should not
-be unreferenced</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterLayoutManager. The returned</doc>
-          <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
-        </return-value>
-      </method>
-      <method name="pack"
-              c:identifier="clutter_box_pack"
-              version="1.2"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Adds @actor to @box and sets layout properties at the same time,
-if the #ClutterLayoutManager used by @box has them
-This function is a wrapper around clutter_container_add_actor()
-and clutter_layout_manager_child_set()
-Language bindings should use the vector-based clutter_box_addv()
-variant instead</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="first_property" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the first property to set, or %NULL</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="pack_after"
-              c:identifier="clutter_box_pack_after"
-              version="1.2"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Adds @actor to @box, placing it after @sibling, and sets layout
-properties at the same time, if the #ClutterLayoutManager used by
-If @sibling is %NULL then @actor is placed at the end of the
-list of children, to be allocated and painted after every other child
-This function is a wrapper around clutter_container_add_actor(),
-clutter_container_raise_child() and clutter_layout_manager_child_set()</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="sibling" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #ClutterActor or %NULL</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="first_property" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the first property to set, or %NULL</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="pack_at"
-              c:identifier="clutter_box_pack_at"
-              version="1.2"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Adds @actor to @box, placing it at @position, and sets layout
-properties at the same time, if the #ClutterLayoutManager used by
-If @position is a negative number, or is larger than the number of
-children of @box, the new child is added at the end of the list of
-children</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="position" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the position to insert the @actor at</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="first_property" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the first property to set, or %NULL</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="pack_before"
-              c:identifier="clutter_box_pack_before"
-              version="1.2"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Adds @actor to @box, placing it before @sibling, and sets layout
-properties at the same time, if the #ClutterLayoutManager used by
-If @sibling is %NULL then @actor is placed at the beginning of the
-list of children, to be allocated and painted below every other child
-This function is a wrapper around clutter_container_add_actor(),
-clutter_container_lower_child() and clutter_layout_manager_child_set()</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="sibling" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #ClutterActor or %NULL</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="first_property" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the first property to set, or %NULL</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="packv" c:identifier="clutter_box_packv" version="1.2">
-        <doc xml:whitespace="preserve">Vector-based variant of clutter_box_pack(), intended for language
-bindings to use</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="n_properties" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the number of properties to set</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="properties" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a vector containing the property names to set</doc>
-            <array length="1" c:type="gchar*">
-              <type name="utf8"/>
-            </array>
-          </parameter>
-          <parameter name="values" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a vector containing the property values to set</doc>
-            <array length="1" c:type="GValue*">
-              <type name="GObject.Value"/>
-            </array>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_color"
-              c:identifier="clutter_box_set_color"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets (or unsets) the background color for @box</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="color" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the background color, or %NULL to unset</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_layout_manager"
-              c:identifier="clutter_box_set_layout_manager"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets the #ClutterLayoutManager for @box
-A #ClutterLayoutManager is a delegate object that controls the
-layout of the children of @box</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="manager" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterLayoutManager</doc>
-            <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="color"
-                version="1.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The color to be used to paint the background of the
-#ClutterBox. Setting this property will set the
-#ClutterBox:color-set property as a side effect</doc>
-        <type name="Color"/>
-      </property>
-      <property name="color-set"
-                version="1.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the #ClutterBox:color property has been set</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="layout-manager"
-                version="1.2"
-                writable="1"
-                construct="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The #ClutterLayoutManager used by the #ClutterBox</doc>
-        <type name="LayoutManager"/>
-      </property>
-      <field name="parent_instance">
-        <type name="Actor" c:type="ClutterActor"/>
-      </field>
-      <field name="priv">
-        <type name="BoxPrivate" c:type="ClutterBoxPrivate*"/>
-      </field>
-    </class>
-    <enumeration name="BoxAlignment"
-                 version="1.2"
-                 glib:type-name="ClutterBoxAlignment"
-                 glib:get-type="clutter_box_alignment_get_type"
-                 c:type="ClutterBoxAlignment">
-      <doc xml:whitespace="preserve">The alignment policies available on each axis of the #ClutterBoxLayout</doc>
-      <member name="start"
-              value="0"
-              c:identifier="CLUTTER_BOX_ALIGNMENT_START"
-              glib:nick="start"/>
-      <member name="end"
-              value="1"
-              c:identifier="CLUTTER_BOX_ALIGNMENT_END"
-              glib:nick="end"/>
-      <member name="center"
-              value="2"
-              c:identifier="CLUTTER_BOX_ALIGNMENT_CENTER"
-              glib:nick="center"/>
-    </enumeration>
-    <record name="BoxClass"
-            c:type="ClutterBoxClass"
-            glib:is-gtype-struct-for="Box"
-            version="1.2">
-      <doc xml:whitespace="preserve">The #ClutterBoxClass structure contains only private data</doc>
-      <field name="parent_class">
-        <type name="ActorClass" c:type="ClutterActorClass"/>
-      </field>
-      <field name="clutter_padding_1">
-        <callback name="clutter_padding_1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="clutter_padding_2">
-        <callback name="clutter_padding_2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="clutter_padding_3">
-        <callback name="clutter_padding_3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="clutter_padding_4">
-        <callback name="clutter_padding_4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="clutter_padding_5">
-        <callback name="clutter_padding_5">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="clutter_padding_6">
-        <callback name="clutter_padding_6">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <class name="BoxLayout"
-           c:symbol-prefix="box_layout"
-           c:type="ClutterBoxLayout"
-           version="1.2"
-           parent="LayoutManager"
-           glib:type-name="ClutterBoxLayout"
-           glib:get-type="clutter_box_layout_get_type"
-           glib:type-struct="BoxLayoutClass">
-      <doc xml:whitespace="preserve">The #ClutterBoxLayout structure contains only private data
-and should be accessed using the provided API</doc>
-      <constructor name="new"
-                   c:identifier="clutter_box_layout_new"
-                   version="1.2">
-        <doc xml:whitespace="preserve">Creates a new #ClutterBoxLayout layout manager</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #ClutterBoxLayout</doc>
-          <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
-        </return-value>
-      </constructor>
-      <method name="get_alignment"
-              c:identifier="clutter_box_layout_get_alignment"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the horizontal and vertical alignment policies for @actor
-as set using clutter_box_layout_pack() or clutter_box_layout_set_alignment()</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor child of @layout</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="x_align"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for the horizontal alignment policy</doc>
-            <type name="BoxAlignment" c:type="ClutterBoxAlignment*"/>
-          </parameter>
-          <parameter name="y_align"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for the vertical alignment policy</doc>
-            <type name="BoxAlignment" c:type="ClutterBoxAlignment*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_easing_duration"
-              c:identifier="clutter_box_layout_get_easing_duration"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the duration set using clutter_box_layout_set_easing_duration()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the duration of the animations, in milliseconds</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_easing_mode"
-              c:identifier="clutter_box_layout_get_easing_mode"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the easing mode set using clutter_box_layout_set_easing_mode()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">an easing mode</doc>
-          <type name="gulong" c:type="gulong"/>
-        </return-value>
-      </method>
-      <method name="get_expand"
-              c:identifier="clutter_box_layout_get_expand"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves whether @actor should expand inside @layout</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the #ClutterActor should expand, %FALSE otherwise</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor child of @layout</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_fill"
-              c:identifier="clutter_box_layout_get_fill"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the horizontal and vertical fill policies for @actor
-as set using clutter_box_layout_pack() or clutter_box_layout_set_fill()</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor child of @layout</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="x_fill"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the horizontal fill policy</doc>
-            <type name="gboolean" c:type="gboolean*"/>
-          </parameter>
-          <parameter name="y_fill"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the vertical fill policy</doc>
-            <type name="gboolean" c:type="gboolean*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_homogeneous"
-              c:identifier="clutter_box_layout_get_homogeneous"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves if the children sizes are allocated homogeneously.
-homogeneously, and %FALSE otherwise</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the #ClutterBoxLayout is arranging its children</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_pack_start"
-              c:identifier="clutter_box_layout_get_pack_start"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the value set using clutter_box_layout_set_pack_start()
-at the beginning of the layout, and %FALSE otherwise</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the #ClutterBoxLayout should pack children</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_spacing"
-              c:identifier="clutter_box_layout_get_spacing"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the spacing set using clutter_box_layout_set_spacing()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the spacing between children of the #ClutterBoxLayout</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_use_animations"
-              c:identifier="clutter_box_layout_get_use_animations"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves whether @layout should animate changes in the layout properties
-Since clutter_box_layout_set_use_animations()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the animations should be used, %FALSE otherwise</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_vertical"
-              c:identifier="clutter_box_layout_get_vertical"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the orientation of the @layout as set using the
-clutter_box_layout_set_vertical() function
-vertically, and %FALSE otherwise</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the #ClutterBoxLayout is arranging its children</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="pack" c:identifier="clutter_box_layout_pack" version="1.2">
-        <doc xml:whitespace="preserve">Packs @actor inside the #ClutterContainer associated to @layout
-and sets the layout properties</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="expand" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether the @actor should expand</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-          <parameter name="x_fill" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether the @actor should fill horizontally</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-          <parameter name="y_fill" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether the @actor should fill vertically</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-          <parameter name="x_align" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the horizontal alignment policy for @actor</doc>
-            <type name="BoxAlignment" c:type="ClutterBoxAlignment"/>
-          </parameter>
-          <parameter name="y_align" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the vertical alignment policy for @actor</doc>
-            <type name="BoxAlignment" c:type="ClutterBoxAlignment"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_alignment"
-              c:identifier="clutter_box_layout_set_alignment"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets the horizontal and vertical alignment policies for @actor
-inside @layout</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor child of @layout</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="x_align" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Horizontal alignment policy for @actor</doc>
-            <type name="BoxAlignment" c:type="ClutterBoxAlignment"/>
-          </parameter>
-          <parameter name="y_align" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Vertical alignment policy for @actor</doc>
-            <type name="BoxAlignment" c:type="ClutterBoxAlignment"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_easing_duration"
-              c:identifier="clutter_box_layout_set_easing_duration"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets the duration of the animations used by @layout when animating changes
-in the layout properties
-Use clutter_box_layout_set_use_animations() to enable and disable the
-animations</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="msecs" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the duration of the animations, in milliseconds</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_easing_mode"
-              c:identifier="clutter_box_layout_set_easing_mode"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets the easing mode to be used by @layout when animating changes in layout
-properties
-Use clutter_box_layout_set_use_animations() to enable and disable the
-animations</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="mode" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an easing mode, either from #ClutterAnimationMode or a logical id from clutter_alpha_register_func()</doc>
-            <type name="gulong" c:type="gulong"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_expand"
-              c:identifier="clutter_box_layout_set_expand"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets whether @actor should expand inside @layout</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor child of @layout</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="expand" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether @actor should expand</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_fill"
-              c:identifier="clutter_box_layout_set_fill"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets the horizontal and vertical fill policies for @actor
-inside @layout</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor child of @layout</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="x_fill" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether @actor should fill horizontally the allocated space</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-          <parameter name="y_fill" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether @actor should fill vertically the allocated space</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_homogeneous"
-              c:identifier="clutter_box_layout_set_homogeneous"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets whether the size of @layout children should be
-homogeneous</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="homogeneous" transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE if the layout should be homogeneous</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_pack_start"
-              c:identifier="clutter_box_layout_set_pack_start"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets whether children of @layout should be layed out by appending
-them or by prepending them</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="pack_start" transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE if the @layout should pack children at the beginning of the layout</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_spacing"
-              c:identifier="clutter_box_layout_set_spacing"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets the spacing between children of @layout</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="spacing" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the spacing between children of the layout, in pixels</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_use_animations"
-              c:identifier="clutter_box_layout_set_use_animations"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets whether @layout should animate changes in the layout properties
-The duration of the animations is controlled by
-clutter_box_layout_set_easing_duration(); the easing mode to be used
-by the animations is controlled by clutter_box_layout_set_easing_mode()</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="animate" transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE if the @layout should use animations</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_vertical"
-              c:identifier="clutter_box_layout_set_vertical"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets whether @layout should arrange its children vertically alongside
-the Y axis, instead of horizontally alongside the X axis</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="vertical" transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE if the layout should be vertical</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="easing-duration"
-                version="1.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The duration of the animations, in case #ClutterBoxLayout:use-animations
-is set to %TRUE
-The duration is expressed in milliseconds</doc>
-        <type name="guint"/>
-      </property>
-      <property name="easing-mode"
-                version="1.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The easing mode for the animations, in case
-#ClutterBoxLayout:use-animations is set to %TRUE
-either be a value from the #ClutterAnimationMode enumeration, like
-%CLUTTER_EASE_OUT_CUBIC, or a logical id as returned by
-clutter_alpha_register_func()
-The default value is %CLUTTER_EASE_OUT_CUBIC</doc>
-        <type name="gulong"/>
-      </property>
-      <property name="homogeneous"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the #ClutterBoxLayout should arrange its children
-homogeneously, i.e. all childs get the same size</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="pack-start"
-                version="1.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the #ClutterBoxLayout should pack items at the start
-or append them at the end</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="spacing"
-                version="1.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The spacing between children of the #ClutterBoxLayout, in pixels</doc>
-        <type name="guint"/>
-      </property>
-      <property name="use-animations"
-                version="1.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the #ClutterBoxLayout should animate changes in the
-layout properties</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="vertical"
-                version="1.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the #ClutterBoxLayout should arrange its children
-alongside the Y axis, instead of alongside the X axis</doc>
-        <type name="gboolean"/>
-      </property>
-      <field name="parent_instance">
-        <type name="LayoutManager" c:type="ClutterLayoutManager"/>
-      </field>
-      <field name="priv">
-        <type name="BoxLayoutPrivate" c:type="ClutterBoxLayoutPrivate*"/>
-      </field>
-    </class>
-    <record name="BoxLayoutClass"
-            c:type="ClutterBoxLayoutClass"
-            glib:is-gtype-struct-for="BoxLayout"
-            version="1.2">
-      <doc xml:whitespace="preserve">The #ClutterBoxLayoutClass structure contains only private
-data and should be accessed using the provided API</doc>
-      <field name="parent_class">
-        <type name="LayoutManagerClass" c:type="ClutterLayoutManagerClass"/>
-      </field>
-    </record>
-    <record name="BoxLayoutPrivate"
-            c:type="ClutterBoxLayoutPrivate"
-            disguised="1">
-    </record>
-    <record name="BoxPrivate" c:type="ClutterBoxPrivate" disguised="1">
-    </record>
-    <constant name="Break" value="65387">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="BrightnessAdjust" value="269025083">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <record name="ButtonEvent" c:type="ClutterButtonEvent" version="0.2">
-      <doc xml:whitespace="preserve">Button event.
-The event coordinates are relative to the stage that received the
-event, and can be transformed into actor-relative coordinates by
-using clutter_actor_transform_stage_point().</doc>
-      <field name="type" writable="1">
-        <type name="EventType" c:type="ClutterEventType"/>
-      </field>
-      <field name="time" writable="1">
-        <type name="guint32" c:type="guint32"/>
-      </field>
-      <field name="flags" writable="1">
-        <type name="EventFlags" c:type="ClutterEventFlags"/>
-      </field>
-      <field name="stage" writable="1">
-        <type name="Stage" c:type="ClutterStage*"/>
-      </field>
-      <field name="source" writable="1">
-        <type name="Actor" c:type="ClutterActor*"/>
-      </field>
-      <field name="x" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-      <field name="y" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-      <field name="modifier_state" writable="1">
-        <type name="ModifierType" c:type="ClutterModifierType"/>
-      </field>
-      <field name="button" writable="1">
-        <type name="guint32" c:type="guint32"/>
-      </field>
-      <field name="click_count" writable="1">
-        <type name="guint" c:type="guint"/>
-      </field>
-      <field name="axes" writable="1">
-        <type name="gdouble" c:type="gdouble*"/>
-      </field>
-      <field name="device" writable="1">
-        <type name="InputDevice" c:type="ClutterInputDevice*"/>
-      </field>
-    </record>
-    <constant name="Byelorussian_SHORTU" value="1726">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Byelorussian_shortu" value="1710">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="C" value="67">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="CD" value="269025107">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="COGL" value="gl">
-      <type name="utf8" c:type="gchar*"/>
-    </constant>
-    <constant name="CURRENT_TIME" value="0">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cabovedot" value="709">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cacute" value="454">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="CairoTexture"
-           c:symbol-prefix="cairo_texture"
-           c:type="ClutterCairoTexture"
-           version="1.0"
-           parent="Texture"
-           glib:type-name="ClutterCairoTexture"
-           glib:get-type="clutter_cairo_texture_get_type"
-           glib:type-struct="CairoTextureClass">
-      <doc xml:whitespace="preserve">The #ClutterCairoTexture struct contains only private data.</doc>
-      <implements name="Atk.ImplementorIface"/>
-      <implements name="Animatable"/>
-      <implements name="Scriptable"/>
-      <constructor name="new"
-                   c:identifier="clutter_cairo_texture_new"
-                   version="1.0">
-        <doc xml:whitespace="preserve">Creates a new #ClutterCairoTexture actor, with a surface of @width by</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #ClutterCairoTexture actor</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-        <parameters>
-          <parameter name="width" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the width of the surface</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="height" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the height of the surface</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="clear"
-              c:identifier="clutter_cairo_texture_clear"
-              version="1.0">
-        <doc xml:whitespace="preserve">Clears @self's internal drawing surface, so that the next upload
-will replace the previous contents of the #ClutterCairoTexture
-rather than adding to it.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="create"
-              c:identifier="clutter_cairo_texture_create"
-              version="1.0"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Creates a new Cairo context for the @cairo texture. It is
-similar to using clutter_cairo_texture_create_region() with @x_offset
-and @y_offset of 0, @width equal to the @cairo texture surface width
-and @height equal to the @cairo texture surface height.
-&lt;warning&gt;&lt;para&gt;Do not call this function within the paint virtual
-function or from a callback to the #ClutterActor::paint
-signal.&lt;/para&gt;&lt;/warning&gt;
-to upload the contents of the context when done drawing</doc>
-        <return-value>
-          <doc xml:whitespace="preserve">a newly created Cairo context. Use cairo_destroy()</doc>
-          <type name="cairo.Context" c:type="cairo_t*"/>
-        </return-value>
-      </method>
-      <method name="create_region"
-              c:identifier="clutter_cairo_texture_create_region"
-              version="1.0"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Creates a new Cairo context that will updat the region defined
-by @x_offset, @y_offset, @width and @height.
-&lt;warning&gt;&lt;para&gt;Do not call this function within the paint virtual
-function or from a callback to the #ClutterActor::paint
-signal.&lt;/para&gt;&lt;/warning&gt;
-to upload the contents of the context when done drawing</doc>
-        <return-value>
-          <doc xml:whitespace="preserve">a newly created Cairo context. Use cairo_destroy()</doc>
-          <type name="cairo.Context" c:type="cairo_t*"/>
-        </return-value>
-        <parameters>
-          <parameter name="x_offset" transfer-ownership="none">
-            <doc xml:whitespace="preserve">offset of the region on the X axis</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="y_offset" transfer-ownership="none">
-            <doc xml:whitespace="preserve">offset of the region on the Y axis</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="width" transfer-ownership="none">
-            <doc xml:whitespace="preserve">width of the region, or -1 for the full surface width</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="height" transfer-ownership="none">
-            <doc xml:whitespace="preserve">height of the region, or -1 for the full surface height</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_surface_size"
-              c:identifier="clutter_cairo_texture_get_surface_size"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the surface width and height for @self.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="width"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the surface width, or %NULL</doc>
-            <type name="guint" c:type="guint*"/>
-          </parameter>
-          <parameter name="height"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the surface height, or %NULL</doc>
-            <type name="guint" c:type="guint*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_surface_size"
-              c:identifier="clutter_cairo_texture_set_surface_size"
-              version="1.0">
-        <doc xml:whitespace="preserve">Resizes the Cairo surface used by @self to @width and @height.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="width" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the new width of the surface</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="height" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the new height of the surface</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="surface-height"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The height of the Cairo surface used by the #ClutterCairoTexture
-actor, in pixels.</doc>
-        <type name="guint"/>
-      </property>
-      <property name="surface-width"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The width of the Cairo surface used by the #ClutterCairoTexture
-actor, in pixels.</doc>
-        <type name="guint"/>
-      </property>
-      <field name="parent_instance">
-        <type name="Texture" c:type="ClutterTexture"/>
-      </field>
-      <field name="priv">
-        <type name="CairoTexturePrivate" c:type="ClutterCairoTexturePrivate*"/>
-      </field>
-    </class>
-    <record name="CairoTextureClass"
-            c:type="ClutterCairoTextureClass"
-            glib:is-gtype-struct-for="CairoTexture"
-            version="1.0">
-      <doc xml:whitespace="preserve">The #ClutterCairoTextureClass struct contains only private data.</doc>
-      <field name="parent_class">
-        <type name="TextureClass" c:type="ClutterTextureClass"/>
-      </field>
-      <field name="_clutter_cairo_1" introspectable="0">
-        <callback name="_clutter_cairo_1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_cairo_2" introspectable="0">
-        <callback name="_clutter_cairo_2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_cairo_3" introspectable="0">
-        <callback name="_clutter_cairo_3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_cairo_4" introspectable="0">
-        <callback name="_clutter_cairo_4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <record name="CairoTexturePrivate"
-            c:type="ClutterCairoTexturePrivate"
-            disguised="1">
-    </record>
-    <constant name="Calculator" value="269025053">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Calendar" value="269025056">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <callback name="Callback" c:type="ClutterCallback">
-      <doc xml:whitespace="preserve">Generic callback</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="actor" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterActor</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </parameter>
-        <parameter name="data" transfer-ownership="none">
-          <doc xml:whitespace="preserve">user data</doc>
-          <type name="gpointer" c:type="gpointer"/>
-        </parameter>
-      </parameters>
-    </callback>
-    <constant name="Cancel" value="65385">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Caps_Lock" value="65509">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ccaron" value="456">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ccedilla" value="199">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ccircumflex" value="710">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="ChildMeta"
-           c:symbol-prefix="child_meta"
-           c:type="ClutterChildMeta"
-           version="0.8"
-           parent="GObject.Object"
-           abstract="1"
-           glib:type-name="ClutterChildMeta"
-           glib:get-type="clutter_child_meta_get_type"
-           glib:type-struct="ChildMetaClass">
-      <doc xml:whitespace="preserve">Base interface for container specific state for child actors. A child
-data is meant to be used when you need to keep track of information
-about each individual child added to a container.
-In order to use it you should create your own subclass of
-#ClutterChildMeta and set the #ClutterContainerIface::child_meta_type
-interface member to your subclass type, like:
-|[
-static void
-my_container_iface_init (ClutterContainerIface *iface)
-{
-/&amp;ast; set the rest of the #ClutterContainer vtable &amp;ast;/
-container_iface-&gt;child_meta_type  = MY_TYPE_CHILD_META;
-}
-]|
-This will automatically create a #ClutterChildMeta of type
-MY_TYPE_CHILD_META for every actor that is added to the container.
-The child data for an actor can be retrieved using the
-clutter_container_get_child_meta() function.
-The properties of the data and your subclass can be manipulated with
-clutter_container_child_set() and clutter_container_child_get() which
-act like g_object_set() and g_object_get().
-You can provide hooks for your own storage as well as control the
-instantiation by overriding #ClutterContainerIface::create_child_meta,
-#ClutterContainerIface::destroy_child_meta and
-#ClutterContainerIface::get_child_meta.</doc>
-      <method name="get_actor"
-              c:identifier="clutter_child_meta_get_actor"
-              version="0.8">
-        <doc xml:whitespace="preserve">Retrieves the actor wrapped by @data</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterActor</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-      </method>
-      <method name="get_container"
-              c:identifier="clutter_child_meta_get_container"
-              version="0.8">
-        <doc xml:whitespace="preserve">Retrieves the container using @data</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterContainer</doc>
-          <type name="Container" c:type="ClutterContainer*"/>
-        </return-value>
-      </method>
-      <property name="actor"
-                version="0.8"
-                writable="1"
-                construct-only="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The #ClutterActor being wrapped by this #ClutterChildMeta</doc>
-        <type name="Actor"/>
-      </property>
-      <property name="container"
-                version="0.8"
-                writable="1"
-                construct-only="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The #ClutterContainer that created this #ClutterChildMeta.</doc>
-        <type name="Container"/>
-      </property>
-      <field name="parent_instance">
-        <type name="GObject.Object" c:type="GObject"/>
-      </field>
-      <field name="container">
-        <type name="Container" c:type="ClutterContainer*"/>
-      </field>
-      <field name="actor">
-        <type name="Actor" c:type="ClutterActor*"/>
-      </field>
-    </class>
-    <record name="ChildMetaClass"
-            c:type="ClutterChildMetaClass"
-            glib:is-gtype-struct-for="ChildMeta"
-            version="0.8">
-      <doc xml:whitespace="preserve">The #ClutterChildMetaClass contains only private data</doc>
-      <field name="parent_class">
-        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
-      </field>
-    </record>
-    <constant name="Clear" value="65291">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ClearGrab" value="269024801">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="ClickAction"
-           c:symbol-prefix="click_action"
-           c:type="ClutterClickAction"
-           version="1.4"
-           parent="Action"
-           glib:type-name="ClutterClickAction"
-           glib:get-type="clutter_click_action_get_type"
-           glib:type-struct="ClickActionClass">
-      <doc xml:whitespace="preserve">The &lt;structname&gt;ClutterClickAction&lt;/structname&gt; structure contains
-only private data and should be accessed using the provided API</doc>
-      <constructor name="new"
-                   c:identifier="clutter_click_action_new"
-                   version="1.4">
-        <doc xml:whitespace="preserve">Creates a new #ClutterClickAction instance</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #ClutterClickAction</doc>
-          <type name="Action" c:type="ClutterAction*"/>
-        </return-value>
-      </constructor>
-      <method name="get_button"
-              c:identifier="clutter_click_action_get_button"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the button that was pressed.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the button value</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="release"
-              c:identifier="clutter_click_action_release"
-              version="1.4">
-        <doc xml:whitespace="preserve">Emulates a release of the pointer button, which ungrabs the pointer
-and unsets the #ClutterClickAction:pressed state.
-This function is useful to break a grab, for instance after a certain
-amount of time has passed.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <property name="held" version="1.4" transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the clickable actor has the pointer grabbed</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="pressed" version="1.4" transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the clickable actor should be in "pressed" state</doc>
-        <type name="gboolean"/>
-      </property>
-      <field name="parent_instance">
-        <type name="Action" c:type="ClutterAction"/>
-      </field>
-      <field name="priv">
-        <type name="ClickActionPrivate" c:type="ClutterClickActionPrivate*"/>
-      </field>
-      <glib:signal name="clicked" version="1.4">
-        <doc xml:whitespace="preserve">The ::clicked signal is emitted when the #ClutterActor to which
-a #ClutterClickAction has been applied should respond to a
-pointer button press and release events</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #ClutterActor attached to the @action</doc>
-            <type name="Actor"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-    </class>
-    <record name="ClickActionClass"
-            c:type="ClutterClickActionClass"
-            glib:is-gtype-struct-for="ClickAction"
-            version="1.4">
-      <doc xml:whitespace="preserve">The &lt;structname&gt;ClutterClickActionClass&lt;/structname&gt; structure
-contains only private data</doc>
-      <field name="parent_class">
-        <type name="ActionClass" c:type="ClutterActionClass"/>
-      </field>
-      <field name="clicked">
-        <callback name="clicked">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="action" transfer-ownership="none">
-              <type name="ClickAction" c:type="ClutterClickAction*"/>
-            </parameter>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_clutter_click_action1" introspectable="0">
-        <callback name="_clutter_click_action1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_click_action2" introspectable="0">
-        <callback name="_clutter_click_action2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_click_action3" introspectable="0">
-        <callback name="_clutter_click_action3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_click_action4" introspectable="0">
-        <callback name="_clutter_click_action4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_click_action5" introspectable="0">
-        <callback name="_clutter_click_action5">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_click_action6" introspectable="0">
-        <callback name="_clutter_click_action6">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_click_action7" introspectable="0">
-        <callback name="_clutter_click_action7">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <record name="ClickActionPrivate"
-            c:type="ClutterClickActionPrivate"
-            disguised="1">
-    </record>
-    <class name="Clone"
-           c:symbol-prefix="clone"
-           c:type="ClutterClone"
-           version="1.0"
-           parent="Actor"
-           glib:type-name="ClutterClone"
-           glib:get-type="clutter_clone_get_type"
-           glib:type-struct="CloneClass">
-      <doc xml:whitespace="preserve">The #ClutterClone structure contains only private data
-and should be accessed using the provided API</doc>
-      <implements name="Atk.ImplementorIface"/>
-      <implements name="Animatable"/>
-      <implements name="Scriptable"/>
-      <constructor name="new" c:identifier="clutter_clone_new" version="1.0">
-        <doc xml:whitespace="preserve">Creates a new #ClutterActor which clones @source/</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #ClutterClone</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-        <parameters>
-          <parameter name="source" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor, or %NULL</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="get_source"
-              c:identifier="clutter_clone_get_source"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the source #ClutterActor being cloned by @clone</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the actor source for the clone</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-      </method>
-      <method name="set_source"
-              c:identifier="clutter_clone_set_source"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets @source as the source actor to be cloned by @clone.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="source" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor, or %NULL</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="source"
-                version="1.0"
-                writable="1"
-                construct="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">This property specifies the source actor being cloned.</doc>
-        <type name="Actor"/>
-      </property>
-      <field name="parent_instance">
-        <type name="Actor" c:type="ClutterActor"/>
-      </field>
-      <field name="priv">
-        <type name="ClonePrivate" c:type="ClutterClonePrivate*"/>
-      </field>
-    </class>
-    <record name="CloneClass"
-            c:type="ClutterCloneClass"
-            glib:is-gtype-struct-for="Clone"
-            version="1.0">
-      <doc xml:whitespace="preserve">The #ClutterCloneClass structure contains only private data</doc>
-      <field name="parent_class">
-        <type name="ActorClass" c:type="ClutterActorClass"/>
-      </field>
-      <field name="_clutter_actor_clone1" introspectable="0">
-        <callback name="_clutter_actor_clone1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_actor_clone2" introspectable="0">
-        <callback name="_clutter_actor_clone2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_actor_clone3" introspectable="0">
-        <callback name="_clutter_actor_clone3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_actor_clone4" introspectable="0">
-        <callback name="_clutter_actor_clone4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <record name="ClonePrivate" c:type="ClutterClonePrivate" disguised="1">
-    </record>
-    <constant name="Close" value="269025110">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Codeinput" value="65335">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ColonSign" value="16785569">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <record name="Color"
-            c:type="ClutterColor"
-            glib:type-name="ClutterColor"
-            glib:get-type="clutter_color_get_type"
-            c:symbol-prefix="color">
-      <doc xml:whitespace="preserve">Color representation.</doc>
-      <field name="red" writable="1">
-        <type name="guint8" c:type="guint8"/>
-      </field>
-      <field name="green" writable="1">
-        <type name="guint8" c:type="guint8"/>
-      </field>
-      <field name="blue" writable="1">
-        <type name="guint8" c:type="guint8"/>
-      </field>
-      <field name="alpha" writable="1">
-        <type name="guint8" c:type="guint8"/>
-      </field>
-      <constructor name="new" c:identifier="clutter_color_new" version="0.8.4">
-        <doc xml:whitespace="preserve">Creates a new #ClutterColor with the given values.
-Use clutter_color_free() when done</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly allocated color.</doc>
-          <type name="Color" c:type="ClutterColor*"/>
-        </return-value>
-        <parameters>
-          <parameter name="red" transfer-ownership="none">
-            <doc xml:whitespace="preserve">red component of the color, between 0 and 255</doc>
-            <type name="guint8" c:type="guint8"/>
-          </parameter>
-          <parameter name="green" transfer-ownership="none">
-            <doc xml:whitespace="preserve">green component of the color, between 0 and 255</doc>
-            <type name="guint8" c:type="guint8"/>
-          </parameter>
-          <parameter name="blue" transfer-ownership="none">
-            <doc xml:whitespace="preserve">blue component of the color, between 0 and 255</doc>
-            <type name="guint8" c:type="guint8"/>
-          </parameter>
-          <parameter name="alpha" transfer-ownership="none">
-            <doc xml:whitespace="preserve">alpha component of the color, between 0 and 255</doc>
-            <type name="guint8" c:type="guint8"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="add" c:identifier="clutter_color_add">
-        <doc xml:whitespace="preserve">Adds @a to @b and saves the resulting color inside @result.
-The alpha channel of @result is set as as the maximum value
-between the alpha channels of @a and @b.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="b" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterColor</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-          <parameter name="result"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for the result</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="copy" c:identifier="clutter_color_copy" version="0.2">
-        <doc xml:whitespace="preserve">Makes a copy of the color structure.  The result must be
-freed using clutter_color_free().</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">an allocated copy of @color.</doc>
-          <type name="Color" c:type="ClutterColor*"/>
-        </return-value>
-      </method>
-      <method name="darken" c:identifier="clutter_color_darken">
-        <doc xml:whitespace="preserve">Darkens @color by a fixed amount, and saves the changed color
-in @result.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="result"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for the darker color</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="free" c:identifier="clutter_color_free" version="0.2">
-        <doc xml:whitespace="preserve">Frees a color structure created with clutter_color_copy().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="from_hls" c:identifier="clutter_color_from_hls">
-        <doc xml:whitespace="preserve">Converts a color expressed in HLS (hue, luminance and saturation)
-values into a #ClutterColor.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="hue" transfer-ownership="none">
-            <doc xml:whitespace="preserve">hue value, in the 0 .. 360 range</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="luminance" transfer-ownership="none">
-            <doc xml:whitespace="preserve">luminance value, in the 0 .. 1 range</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="saturation" transfer-ownership="none">
-            <doc xml:whitespace="preserve">saturation value, in the 0 .. 1 range</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="from_pixel" c:identifier="clutter_color_from_pixel">
-        <doc xml:whitespace="preserve">Converts @pixel from the packed representation of a four 8 bit channel
-color to a #ClutterColor.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="pixel" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a 32 bit packed integer containing a color</doc>
-            <type name="guint32" c:type="guint32"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="from_string"
-              c:identifier="clutter_color_from_string"
-              version="1.0">
-        <doc xml:whitespace="preserve">Parses a string definition of a color, filling the
-&lt;structfield&gt;red&lt;/structfield&gt;, &lt;structfield&gt;green&lt;/structfield&gt;, 
-&lt;structfield&gt;blue&lt;/structfield&gt; and &lt;structfield&gt;alpha&lt;/structfield&gt; 
-channels of @color. If alpha is not specified it will be set full opaque.
-The @color is not allocated.
-The color may be defined by any of the formats understood by
-pango_color_from_string(); these include literal color names, like
-&lt;literal&gt;Red&lt;/literal&gt; or &lt;literal&gt;DarkSlateGray&lt;/literal&gt;, or
-hexadecimal specifications like &lt;literal&gt;&amp;num;3050b2&lt;/literal&gt; or
-&lt;literal&gt;&amp;num;333&lt;/literal&gt;.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if parsing succeeded.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="str" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string specifiying a color (named color or #RRGGBBAA)</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="lighten" c:identifier="clutter_color_lighten">
-        <doc xml:whitespace="preserve">Lightens @color by a fixed amount, and saves the changed color
-in @result.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="result"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for the lighter color</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="shade" c:identifier="clutter_color_shade">
-        <doc xml:whitespace="preserve">Shades @color by @factor and saves the modified color into @result.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="factor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the shade factor to apply</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="result"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for the shaded color</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="subtract" c:identifier="clutter_color_subtract">
-        <doc xml:whitespace="preserve">Subtracts @b from @a and saves the resulting color inside @result.
-This function assumes that the components of @a are greater than the
-components of @b; the result is, otherwise, undefined.
-The alpha channel of @result is set as the minimum value
-between the alpha channels of @a and @b.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="b" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterColor</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-          <parameter name="result"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for the result</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="to_hls" c:identifier="clutter_color_to_hls">
-        <doc xml:whitespace="preserve">Converts @color to the HLS format.
-The @hue value is in the 0 .. 360 range. The @luminance and</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="hue"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the hue value or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="luminance"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the luminance value or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="saturation"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the saturation value or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="to_pixel" c:identifier="clutter_color_to_pixel">
-        <doc xml:whitespace="preserve">Converts @color into a packed 32 bit integer, containing
-all the four 8 bit channels used by #ClutterColor.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a packed color</doc>
-          <type name="guint32" c:type="guint32"/>
-        </return-value>
-      </method>
-      <method name="to_string"
-              c:identifier="clutter_color_to_string"
-              version="0.2">
-        <doc xml:whitespace="preserve">Returns a textual specification of @color in the hexadecimal form
-&lt;literal&gt;&amp;num;rrggbbaa&lt;/literal&gt;, where &lt;literal&gt;r&lt;/literal&gt;,
-&lt;literal&gt;g&lt;/literal&gt;, &lt;literal&gt;b&lt;/literal&gt; and &lt;literal&gt;a&lt;/literal&gt; are
-hex digits representing the red, green, blue and alpha components
-respectively.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a newly-allocated text string</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-    </record>
-    <class name="ColorizeEffect"
-           c:symbol-prefix="colorize_effect"
-           c:type="ClutterColorizeEffect"
-           parent="OffscreenEffect"
-           glib:type-name="ClutterColorizeEffect"
-           glib:get-type="clutter_colorize_effect_get_type">
-      <doc xml:whitespace="preserve">&lt;structname&gt;ClutterColorizeEffect&lt;/structname&gt; is an opaque structure
-whose members cannot be directly accessed
-SinceL 1.4</doc>
-      <constructor name="new"
-                   c:identifier="clutter_colorize_effect_new"
-                   version="1.4">
-        <doc xml:whitespace="preserve">Creates a new #ClutterColorizeEffect to be used with
-clutter_actor_add_effect()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #ClutterColorizeEffect or %NULL</doc>
-          <type name="Effect" c:type="ClutterEffect*"/>
-        </return-value>
-        <parameters>
-          <parameter name="tint" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the color to be used</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="get_tint"
-              c:identifier="clutter_colorize_effect_get_tint"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the tint used by @effect</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="tint"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for the color used</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_tint"
-              c:identifier="clutter_colorize_effect_set_tint"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the tint to be used when colorizing</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="tint" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the color to be used</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="tint"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The tint to apply to the actor</doc>
-        <type name="Color"/>
-      </property>
-    </class>
-    <constant name="Community" value="269025085">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="Constraint"
-           c:symbol-prefix="constraint"
-           c:type="ClutterConstraint"
-           version="1.4"
-           parent="ActorMeta"
-           abstract="1"
-           glib:type-name="ClutterConstraint"
-           glib:get-type="clutter_constraint_get_type"
-           glib:type-struct="ConstraintClass">
-      <doc xml:whitespace="preserve">The &lt;structname&gt;ClutterConstraint&lt;/structname&gt; structure contains only
-private data and should be accessed using the provided API</doc>
-      <virtual-method name="update_allocation">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="allocation" transfer-ownership="none">
-            <type name="ActorBox" c:type="ClutterActorBox*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <field name="parent_instance">
-        <type name="ActorMeta" c:type="ClutterActorMeta"/>
-      </field>
-    </class>
-    <record name="ConstraintClass"
-            c:type="ClutterConstraintClass"
-            glib:is-gtype-struct-for="Constraint"
-            version="1.4">
-      <doc xml:whitespace="preserve">The &lt;structname&gt;ClutterConstraintClass&lt;/structname&gt; structure contains
-only private data</doc>
-      <field name="parent_class">
-        <type name="ActorMetaClass" c:type="ClutterActorMetaClass"/>
-      </field>
-      <field name="update_allocation">
-        <callback name="update_allocation">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="constraint" transfer-ownership="none">
-              <type name="Constraint" c:type="ClutterConstraint*"/>
-            </parameter>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-            <parameter name="allocation" transfer-ownership="none">
-              <type name="ActorBox" c:type="ClutterActorBox*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_clutter_constraint1" introspectable="0">
-        <callback name="_clutter_constraint1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_constraint2" introspectable="0">
-        <callback name="_clutter_constraint2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_constraint3" introspectable="0">
-        <callback name="_clutter_constraint3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_constraint4" introspectable="0">
-        <callback name="_clutter_constraint4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_constraint5" introspectable="0">
-        <callback name="_clutter_constraint5">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_constraint6" introspectable="0">
-        <callback name="_clutter_constraint6">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_constraint7" introspectable="0">
-        <callback name="_clutter_constraint7">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_constraint8" introspectable="0">
-        <callback name="_clutter_constraint8">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <interface name="Container"
-               c:symbol-prefix="container"
-               c:type="ClutterContainer"
-               version="0.4"
-               glib:type-name="ClutterContainer"
-               glib:get-type="clutter_container_get_type"
-               glib:type-struct="ContainerIface">
-      <doc xml:whitespace="preserve">#ClutterContainer is an opaque structure whose members cannot be directly
-accessed</doc>
-      <virtual-method name="add">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="create_child_meta"
-                      invoker="create_child_meta"
-                      version="1.2">
-        <doc xml:whitespace="preserve">Creates the #ClutterChildMeta wrapping @actor inside the
-class member is not set to %G_TYPE_INVALID.
-This function is only useful when adding a #ClutterActor to
-a #ClutterContainer implementation outside of the
-#ClutterContainer::add() virtual function implementation.
-Applications should not call this function.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="destroy_child_meta"
-                      invoker="destroy_child_meta"
-                      version="1.2">
-        <doc xml:whitespace="preserve">Destroys the #ClutterChildMeta wrapping @actor inside the
-This function is only useful when removing a #ClutterActor to
-a #ClutterContainer implementation outside of the
-#ClutterContainer::add() virtual function implementation.
-Applications should not call this function.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="foreach" invoker="foreach" version="0.4">
-        <doc xml:whitespace="preserve">Calls @callback for each child of @container that was added
-by the application (with clutter_container_add_actor()). Does
-not iterate over "internal" children that are part of the
-container's own implementation, if any.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="callback"
-                     transfer-ownership="none"
-                     scope="call"
-                     closure="1">
-            <doc xml:whitespace="preserve">a function to be called for each child</doc>
-            <type name="Callback" c:type="ClutterCallback"/>
-          </parameter>
-          <parameter name="user_data" transfer-ownership="none" closure="1">
-            <doc xml:whitespace="preserve">data to be passed to the function, or %NULL</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="foreach_with_internals"
-                      invoker="foreach_with_internals"
-                      version="1.0">
-        <doc xml:whitespace="preserve">Calls @callback for each child of @container, including "internal"
-children built in to the container itself that were never added
-by the application.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="callback"
-                     transfer-ownership="none"
-                     scope="call"
-                     closure="1">
-            <doc xml:whitespace="preserve">a function to be called for each child</doc>
-            <type name="Callback" c:type="ClutterCallback"/>
-          </parameter>
-          <parameter name="user_data" transfer-ownership="none" closure="1">
-            <doc xml:whitespace="preserve">data to be passed to the function, or %NULL</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="get_child_meta"
-                      invoker="get_child_meta"
-                      version="0.8">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterChildMeta which contains the data about the
-of @container or %NULL if the specifiec actor does not exist or the
-container is not configured to provide #ClutterChildMeta&lt;!-- --&gt;s</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #ClutterChildMeta for the @actor child</doc>
-          <type name="ChildMeta" c:type="ClutterChildMeta*"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor that is a child of @container.</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="lower">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="sibling" transfer-ownership="none">
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="raise">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="sibling" transfer-ownership="none">
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="remove">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="sort_depth_order"
-                      invoker="sort_depth_order"
-                      version="0.6">
-        <doc xml:whitespace="preserve">Sorts a container's children using their depth. This function should not
-be normally used by applications.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </virtual-method>
-      <method name="add"
-              c:identifier="clutter_container_add"
-              version="0.4"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Adds a list of #ClutterActor&lt;!-- --&gt;s to @container. Each time and
-actor is added, the "actor-added" signal is emitted. Each actor should
-be parented to @container, which takes a reference on the actor. You
-cannot add a #ClutterActor to more than one #ClutterContainer.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="first_actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the first #ClutterActor to add</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="add_actor"
-              c:identifier="clutter_container_add_actor"
-              version="0.4">
-        <doc xml:whitespace="preserve">Adds a #ClutterActor to @container. This function will emit the
-"actor-added" signal. The actor should be parented to
-#ClutterContainer.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the first #ClutterActor to add</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="add_valist"
-              c:identifier="clutter_container_add_valist"
-              version="0.4"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Alternative va_list version of clutter_container_add().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="first_actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the first #ClutterActor to add</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="var_args" transfer-ownership="none">
-            <doc xml:whitespace="preserve">list of actors to add, followed by %NULL</doc>
-            <type name="va_list" c:type="va_list"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="child_get"
-              c:identifier="clutter_container_child_get"
-              version="0.8"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Gets @container specific properties of an actor.
-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 g_free() or g_object_unref().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor that is a child of @container.</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="first_prop" transfer-ownership="none">
-            <doc xml:whitespace="preserve">name of the first property to be set.</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="child_get_property"
-              c:identifier="clutter_container_child_get_property"
-              version="0.8">
-        <doc xml:whitespace="preserve">Gets a container specific property of a child of @container, In general,
-a copy is made of the property contents and the caller is responsible for
-freeing the memory by calling g_value_unset().
-Note that clutter_container_child_set_property() is really intended for
-language bindings, clutter_container_child_set() is much more convenient
-for C programming.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="child" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor that is a child of @container.</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="property" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the property to set.</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value.</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="child_set"
-              c:identifier="clutter_container_child_set"
-              version="0.8"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Sets container specific properties on the child of a container.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor that is a child of @container.</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="first_prop" transfer-ownership="none">
-            <doc xml:whitespace="preserve">name of the first property to be set.</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="child_set_property"
-              c:identifier="clutter_container_child_set_property"
-              version="0.8">
-        <doc xml:whitespace="preserve">Sets a container-specific property on a child of @container.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="child" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor that is a child of @container.</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="property" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the property to set.</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value.</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="create_child_meta"
-              c:identifier="clutter_container_create_child_meta"
-              version="1.2">
-        <doc xml:whitespace="preserve">Creates the #ClutterChildMeta wrapping @actor inside the
-class member is not set to %G_TYPE_INVALID.
-This function is only useful when adding a #ClutterActor to
-a #ClutterContainer implementation outside of the
-#ClutterContainer::add() virtual function implementation.
-Applications should not call this function.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="destroy_child_meta"
-              c:identifier="clutter_container_destroy_child_meta"
-              version="1.2">
-        <doc xml:whitespace="preserve">Destroys the #ClutterChildMeta wrapping @actor inside the
-This function is only useful when removing a #ClutterActor to
-a #ClutterContainer implementation outside of the
-#ClutterContainer::add() virtual function implementation.
-Applications should not call this function.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="find_child_by_name"
-              c:identifier="clutter_container_find_child_by_name"
-              version="0.6">
-        <doc xml:whitespace="preserve">Finds a child actor of a container by its name. Search recurses
-into any child container.
-or %NULL if no actor with that name was found.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The child actor with the requested name,</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-        <parameters>
-          <parameter name="child_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the requested child.</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="foreach"
-              c:identifier="clutter_container_foreach"
-              version="0.4">
-        <doc xml:whitespace="preserve">Calls @callback for each child of @container that was added
-by the application (with clutter_container_add_actor()). Does
-not iterate over "internal" children that are part of the
-container's own implementation, if any.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="callback"
-                     transfer-ownership="none"
-                     scope="call"
-                     closure="1">
-            <doc xml:whitespace="preserve">a function to be called for each child</doc>
-            <type name="Callback" c:type="ClutterCallback"/>
-          </parameter>
-          <parameter name="user_data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">data to be passed to the function, or %NULL</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="foreach_with_internals"
-              c:identifier="clutter_container_foreach_with_internals"
-              version="1.0">
-        <doc xml:whitespace="preserve">Calls @callback for each child of @container, including "internal"
-children built in to the container itself that were never added
-by the application.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="callback"
-                     transfer-ownership="none"
-                     scope="call"
-                     closure="1">
-            <doc xml:whitespace="preserve">a function to be called for each child</doc>
-            <type name="Callback" c:type="ClutterCallback"/>
-          </parameter>
-          <parameter name="user_data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">data to be passed to the function, or %NULL</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_child_meta"
-              c:identifier="clutter_container_get_child_meta"
-              version="0.8">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterChildMeta which contains the data about the
-of @container or %NULL if the specifiec actor does not exist or the
-container is not configured to provide #ClutterChildMeta&lt;!-- --&gt;s</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #ClutterChildMeta for the @actor child</doc>
-          <type name="ChildMeta" c:type="ClutterChildMeta*"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor that is a child of @container.</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_children"
-              c:identifier="clutter_container_get_children"
-              version="0.4">
-        <doc xml:whitespace="preserve">Retrieves all the children of @container.
-of #ClutterActor&lt;!-- --&gt;s. Use g_list_free() on the returned
-list when done.</doc>
-        <return-value transfer-ownership="container">
-          <doc xml:whitespace="preserve">a list</doc>
-          <type name="GLib.List" c:type="GList*">
-            <type name="Actor"/>
-          </type>
-        </return-value>
-      </method>
-      <method name="lower_child"
-              c:identifier="clutter_container_lower_child"
-              version="0.6">
-        <doc xml:whitespace="preserve">Lowers @actor to @sibling level, in the depth ordering.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the actor to raise</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="sibling" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the sibling to lower to, or %NULL to lower to the bottom</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="raise_child"
-              c:identifier="clutter_container_raise_child"
-              version="0.6">
-        <doc xml:whitespace="preserve">Raises @actor to @sibling level, in the depth ordering.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the actor to raise</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="sibling" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the sibling to raise to, or %NULL to raise to the top</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="remove"
-              c:identifier="clutter_container_remove"
-              version="0.4"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Removes a %NULL terminated list of #ClutterActor&lt;!-- --&gt;s from
-around you must hold a reference to it yourself, using g_object_ref().
-Each time an actor is removed, the "actor-removed" signal is
-emitted by @container.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="first_actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">first #ClutterActor to remove</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="remove_actor"
-              c:identifier="clutter_container_remove_actor"
-              version="0.4">
-        <doc xml:whitespace="preserve">Removes @actor from @container. The actor should be unparented, so
-if you want to keep it around you must hold a reference to it
-yourself, using g_object_ref(). When the actor has been removed,
-the "actor-removed" signal is emitted by @container.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="remove_valist"
-              c:identifier="clutter_container_remove_valist"
-              version="0.4"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Alternative va_list version of clutter_container_remove().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="first_actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the first #ClutterActor to add</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="var_args" transfer-ownership="none">
-            <doc xml:whitespace="preserve">list of actors to remove, followed by %NULL</doc>
-            <type name="va_list" c:type="va_list"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="sort_depth_order"
-              c:identifier="clutter_container_sort_depth_order"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sorts a container's children using their depth. This function should not
-be normally used by applications.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <glib:signal name="actor-added" version="0.4">
-        <doc xml:whitespace="preserve">The ::actor-added signal is emitted each time an actor
-has been added to @container.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the new child that has been added to @container</doc>
-            <type name="Actor"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="actor-removed" version="0.4">
-        <doc xml:whitespace="preserve">The ::actor-removed signal is emitted each time an actor
-is removed from @container.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the child that has been removed from @container</doc>
-            <type name="Actor"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="child-notify" version="0.8" introspectable="0">
-        <doc xml:whitespace="preserve">The ::child-notify signal is emitted each time a property is
-being set through the clutter_container_child_set() and
-clutter_container_child_set_property() calls.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the child that has had a property set.</doc>
-            <type name="Actor"/>
-          </parameter>
-          <parameter name="p0" transfer-ownership="none">
-            <type/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-    </interface>
-    <record name="ContainerIface"
-            c:type="ClutterContainerIface"
-            glib:is-gtype-struct-for="Container"
-            version="0.4">
-      <doc xml:whitespace="preserve">Base interface for container actors. The @add, @remove and @foreach
-virtual functions must be provided by any implementation; the other
-virtual functions are optional.</doc>
-      <field name="g_iface">
-        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
-      </field>
-      <field name="add">
-        <callback name="add">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="container" transfer-ownership="none">
-              <type name="Container" c:type="ClutterContainer*"/>
-            </parameter>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="remove">
-        <callback name="remove">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="container" transfer-ownership="none">
-              <type name="Container" c:type="ClutterContainer*"/>
-            </parameter>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="foreach">
-        <callback name="foreach">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="container" transfer-ownership="none">
-              <type name="Container" c:type="ClutterContainer*"/>
-            </parameter>
-            <parameter name="callback"
-                       transfer-ownership="none"
-                       scope="call"
-                       closure="2">
-              <doc xml:whitespace="preserve">a function to be called for each child</doc>
-              <type name="Callback" c:type="ClutterCallback"/>
-            </parameter>
-            <parameter name="user_data" transfer-ownership="none" closure="2">
-              <doc xml:whitespace="preserve">data to be passed to the function, or %NULL</doc>
-              <type name="gpointer" c:type="gpointer"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="foreach_with_internals">
-        <callback name="foreach_with_internals">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="container" transfer-ownership="none">
-              <type name="Container" c:type="ClutterContainer*"/>
-            </parameter>
-            <parameter name="callback"
-                       transfer-ownership="none"
-                       scope="call"
-                       closure="2">
-              <doc xml:whitespace="preserve">a function to be called for each child</doc>
-              <type name="Callback" c:type="ClutterCallback"/>
-            </parameter>
-            <parameter name="user_data" transfer-ownership="none" closure="2">
-              <doc xml:whitespace="preserve">data to be passed to the function, or %NULL</doc>
-              <type name="gpointer" c:type="gpointer"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="raise">
-        <callback name="raise">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="container" transfer-ownership="none">
-              <type name="Container" c:type="ClutterContainer*"/>
-            </parameter>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-            <parameter name="sibling" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="lower">
-        <callback name="lower">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="container" transfer-ownership="none">
-              <type name="Container" c:type="ClutterContainer*"/>
-            </parameter>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-            <parameter name="sibling" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="sort_depth_order">
-        <callback name="sort_depth_order">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="container" transfer-ownership="none">
-              <type name="Container" c:type="ClutterContainer*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="child_meta_type">
-        <type name="GType" c:type="GType"/>
-      </field>
-      <field name="create_child_meta">
-        <callback name="create_child_meta">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="container" transfer-ownership="none">
-              <type name="Container" c:type="ClutterContainer*"/>
-            </parameter>
-            <parameter name="actor" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a #ClutterActor</doc>
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="destroy_child_meta">
-        <callback name="destroy_child_meta">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="container" transfer-ownership="none">
-              <type name="Container" c:type="ClutterContainer*"/>
-            </parameter>
-            <parameter name="actor" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a #ClutterActor</doc>
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="get_child_meta">
-        <callback name="get_child_meta">
-          <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #ClutterChildMeta for the @actor child</doc>
-            <type name="ChildMeta" c:type="ClutterChildMeta*"/>
-          </return-value>
-          <parameters>
-            <parameter name="container" transfer-ownership="none">
-              <type name="Container" c:type="ClutterContainer*"/>
-            </parameter>
-            <parameter name="actor" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a #ClutterActor that is a child of @container.</doc>
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="actor_added">
-        <callback name="actor_added">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="container" transfer-ownership="none">
-              <type name="Container" c:type="ClutterContainer*"/>
-            </parameter>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="actor_removed">
-        <callback name="actor_removed">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="container" transfer-ownership="none">
-              <type name="Container" c:type="ClutterContainer*"/>
-            </parameter>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="child_notify">
-        <callback name="child_notify">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="container" transfer-ownership="none">
-              <type name="Container" c:type="ClutterContainer*"/>
-            </parameter>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-            <parameter name="pspec" transfer-ownership="none">
-              <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-    </record>
-    <constant name="ContrastAdjust" value="269025058">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Control_L" value="65507">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Control_R" value="65508">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Copy" value="269025111">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <record name="CrossingEvent" c:type="ClutterCrossingEvent" version="0.2">
-      <doc xml:whitespace="preserve">Event for the movement of the pointer across different actors</doc>
-      <field name="type" writable="1">
-        <type name="EventType" c:type="ClutterEventType"/>
-      </field>
-      <field name="time" writable="1">
-        <type name="guint32" c:type="guint32"/>
-      </field>
-      <field name="flags" writable="1">
-        <type name="EventFlags" c:type="ClutterEventFlags"/>
-      </field>
-      <field name="stage" writable="1">
-        <type name="Stage" c:type="ClutterStage*"/>
-      </field>
-      <field name="source" writable="1">
-        <type name="Actor" c:type="ClutterActor*"/>
-      </field>
-      <field name="x" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-      <field name="y" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-      <field name="device" writable="1">
-        <type name="InputDevice" c:type="ClutterInputDevice*"/>
-      </field>
-      <field name="related" writable="1">
-        <type name="Actor" c:type="ClutterActor*"/>
-      </field>
-    </record>
-    <constant name="CruzeiroSign" value="16785570">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cut" value="269025112">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="CycleAngle" value="269025180">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_A" value="1761">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_BE" value="1762">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_CHE" value="1790">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_CHE_descender" value="16778422">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_CHE_vertstroke" value="16778424">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_DE" value="1764">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_DZHE" value="1727">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_E" value="1788">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_EF" value="1766">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_EL" value="1772">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_EM" value="1773">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_EN" value="1774">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_EN_descender" value="16778402">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_ER" value="1778">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_ES" value="1779">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_GHE" value="1767">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_GHE_bar" value="16778386">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_HA" value="1768">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_HARDSIGN" value="1791">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_HA_descender" value="16778418">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_I" value="1769">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_IE" value="1765">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_IO" value="1715">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_I_macron" value="16778466">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_JE" value="1720">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_KA" value="1771">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_KA_descender" value="16778394">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_KA_vertstroke" value="16778396">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_LJE" value="1721">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_NJE" value="1722">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_O" value="1775">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_O_bar" value="16778472">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_PE" value="1776">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_SCHWA" value="16778456">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_SHA" value="1787">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_SHCHA" value="1789">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_SHHA" value="16778426">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_SHORTI" value="1770">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_SOFTSIGN" value="1784">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_TE" value="1780">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_TSE" value="1763">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_U" value="1781">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_U_macron" value="16778478">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_U_straight" value="16778414">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_U_straight_bar" value="16778416">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_VE" value="1783">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_YA" value="1777">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_YERU" value="1785">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_YU" value="1760">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_ZE" value="1786">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_ZHE" value="1782">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_ZHE_descender" value="16778390">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_a" value="1729">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_be" value="1730">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_che" value="1758">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_che_descender" value="16778423">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_che_vertstroke" value="16778425">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_de" value="1732">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_dzhe" value="1711">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_e" value="1756">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_ef" value="1734">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_el" value="1740">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_em" value="1741">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_en" value="1742">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_en_descender" value="16778403">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_er" value="1746">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_es" value="1747">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_ghe" value="1735">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_ghe_bar" value="16778387">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_ha" value="1736">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_ha_descender" value="16778419">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_hardsign" value="1759">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_i" value="1737">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_i_macron" value="16778467">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_ie" value="1733">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_io" value="1699">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_je" value="1704">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_ka" value="1739">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_ka_descender" value="16778395">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_ka_vertstroke" value="16778397">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_lje" value="1705">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_nje" value="1706">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_o" value="1743">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_o_bar" value="16778473">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_pe" value="1744">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_schwa" value="16778457">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_sha" value="1755">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_shcha" value="1757">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_shha" value="16778427">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_shorti" value="1738">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_softsign" value="1752">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_te" value="1748">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_tse" value="1731">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_u" value="1749">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_u_macron" value="16778479">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_u_straight" value="16778415">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_u_straight_bar" value="16778417">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_ve" value="1751">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_ya" value="1745">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_yeru" value="1753">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_yu" value="1728">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_ze" value="1754">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_zhe" value="1750">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Cyrillic_zhe_descender" value="16778391">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="D" value="68">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="DOS" value="269025114">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Dabovedot" value="16784906">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Dcaron" value="463">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="DeformEffect"
-           c:symbol-prefix="deform_effect"
-           c:type="ClutterDeformEffect"
-           version="1.4"
-           parent="OffscreenEffect"
-           abstract="1"
-           glib:type-name="ClutterDeformEffect"
-           glib:get-type="clutter_deform_effect_get_type"
-           glib:type-struct="DeformEffectClass">
-      <doc xml:whitespace="preserve">The &lt;structname&gt;ClutterDeformEffect&lt;/structname&gt; structure contains
-only private data and should be accessed using the provided API</doc>
-      <virtual-method name="deform_vertex">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="width" transfer-ownership="none">
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="height" transfer-ownership="none">
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="vertex" transfer-ownership="none">
-            <type name="Cogl.TextureVertex" c:type="CoglTextureVertex*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <method name="get_back_material"
-              c:identifier="clutter_deform_effect_get_back_material"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the handle to the back face material used by @effect
-The returned material is owned by the #ClutterDeformEffect and it
-should not be freed directly</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a handle for the material, or %NULL.</doc>
-          <type name="Cogl.Handle" c:type="CoglHandle"/>
-        </return-value>
-      </method>
-      <method name="get_n_tiles"
-              c:identifier="clutter_deform_effect_get_n_tiles"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the number of horizontal and vertical tiles used to sub-divide
-the actor's geometry during the effect</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x_tiles"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the number of horizontal tiles, or %NULL</doc>
-            <type name="guint" c:type="guint*"/>
-          </parameter>
-          <parameter name="y_tiles"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the number of vertical tiles, or %NULL</doc>
-            <type name="guint" c:type="guint*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="invalidate"
-              c:identifier="clutter_deform_effect_invalidate"
-              version="1.4">
-        <doc xml:whitespace="preserve">Invalidates the @effect&lt;!-- --&gt;'s vertices and, if it is associated
-to an actor, it will queue a redraw</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="set_back_material"
-              c:identifier="clutter_deform_effect_set_back_material"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the material that should be used when drawing the back face
-of the actor during a deformation
-The #ClutterDeformEffect will take a reference on the material's
-handle</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="material" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a handle to a Cogl material</doc>
-            <type name="Cogl.Handle" c:type="CoglHandle"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_n_tiles"
-              c:identifier="clutter_deform_effect_set_n_tiles"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the number of horizontal and vertical tiles to be used
-when applying the effect
-More tiles allow a finer grained deformation at the expenses
-of computation</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x_tiles" transfer-ownership="none">
-            <doc xml:whitespace="preserve">number of horizontal tiles</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="y_tiles" transfer-ownership="none">
-            <doc xml:whitespace="preserve">number of vertical tiles</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="back-material"
-                version="1.4"
-                introspectable="0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">A material to be used when painting the back of the actor
-to which this effect has been applied
-By default, no material will be used</doc>
-        <type/>
-      </property>
-      <property name="x-tiles"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The number of horizontal tiles. The bigger the number, the
-smaller the tiles</doc>
-        <type name="guint"/>
-      </property>
-      <property name="y-tiles"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The number of vertical tiles. The bigger the number, the
-smaller the tiles</doc>
-        <type name="guint"/>
-      </property>
-      <field name="parent_instance">
-        <type name="OffscreenEffect" c:type="ClutterOffscreenEffect"/>
-      </field>
-      <field name="priv">
-        <type name="DeformEffectPrivate" c:type="ClutterDeformEffectPrivate*"/>
-      </field>
-    </class>
-    <record name="DeformEffectClass"
-            c:type="ClutterDeformEffectClass"
-            glib:is-gtype-struct-for="DeformEffect"
-            version="1.4">
-      <doc xml:whitespace="preserve">The &lt;structname&gt;ClutterDeformEffectClass&lt;/structname&gt; structure contains
-only private data</doc>
-      <field name="parent_class">
-        <type name="OffscreenEffectClass"
-              c:type="ClutterOffscreenEffectClass"/>
-      </field>
-      <field name="deform_vertex">
-        <callback name="deform_vertex">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="effect" transfer-ownership="none">
-              <type name="DeformEffect" c:type="ClutterDeformEffect*"/>
-            </parameter>
-            <parameter name="width" transfer-ownership="none">
-              <type name="gfloat" c:type="gfloat"/>
-            </parameter>
-            <parameter name="height" transfer-ownership="none">
-              <type name="gfloat" c:type="gfloat"/>
-            </parameter>
-            <parameter name="vertex" transfer-ownership="none">
-              <type name="Cogl.TextureVertex" c:type="CoglTextureVertex*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_clutter_deform1" introspectable="0">
-        <callback name="_clutter_deform1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_deform2" introspectable="0">
-        <callback name="_clutter_deform2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_deform3" introspectable="0">
-        <callback name="_clutter_deform3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_deform4" introspectable="0">
-        <callback name="_clutter_deform4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_deform5" introspectable="0">
-        <callback name="_clutter_deform5">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_deform6" introspectable="0">
-        <callback name="_clutter_deform6">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_deform7" introspectable="0">
-        <callback name="_clutter_deform7">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <record name="DeformEffectPrivate"
-            c:type="ClutterDeformEffectPrivate"
-            disguised="1">
-    </record>
-    <constant name="Delete" value="65535">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="DesaturateEffect"
-           c:symbol-prefix="desaturate_effect"
-           c:type="ClutterDesaturateEffect"
-           version="1.4"
-           parent="OffscreenEffect"
-           glib:type-name="ClutterDesaturateEffect"
-           glib:get-type="clutter_desaturate_effect_get_type">
-      <doc xml:whitespace="preserve">&lt;structname&gt;ClutterDesaturateEffect&lt;/structname&gt; is an opaque structure
-whose members cannot be directly accessed</doc>
-      <constructor name="new"
-                   c:identifier="clutter_desaturate_effect_new"
-                   version="1.4">
-        <doc xml:whitespace="preserve">Creates a new #ClutterDesaturateEffect to be used with
-clutter_actor_add_effect()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #ClutterDesaturateEffect or %NULL</doc>
-          <type name="Effect" c:type="ClutterEffect*"/>
-        </return-value>
-        <parameters>
-          <parameter name="factor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the desaturation factor, between 0.0 and 1.0</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="get_factor"
-              c:identifier="clutter_desaturate_effect_get_factor"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the desaturation factor of @effect</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the desaturation factor</doc>
-          <type name="gdouble" c:type="gdouble"/>
-        </return-value>
-      </method>
-      <method name="set_factor"
-              c:identifier="clutter_desaturate_effect_set_factor"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the desaturation factor for @effect, with 0.0 being "do not desaturate"
-and 1.0 being "fully desaturate"</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="factor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the desaturation factor, between 0.0 and 1.0</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="factor"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The desaturation factor, between 0.0 (no desaturation) and 1.0 (full
-desaturation).</doc>
-        <type name="gdouble"/>
-      </property>
-    </class>
-    <class name="DeviceManager"
-           c:symbol-prefix="device_manager"
-           c:type="ClutterDeviceManager"
-           version="1.2"
-           parent="GObject.Object"
-           abstract="1"
-           glib:type-name="ClutterDeviceManager"
-           glib:get-type="clutter_device_manager_get_type"
-           glib:type-struct="DeviceManagerClass">
-      <doc xml:whitespace="preserve">The #ClutterDeviceManager structure contains only private data</doc>
-      <function name="get_default"
-                c:identifier="clutter_device_manager_get_default"
-                version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the device manager singleton
-The returned instance is owned by Clutter and it should not be
-modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #ClutterDeviceManager singleton.</doc>
-          <type name="DeviceManager" c:type="ClutterDeviceManager*"/>
-        </return-value>
-      </function>
-      <virtual-method name="add_device">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="device" transfer-ownership="none">
-            <type name="InputDevice" c:type="ClutterInputDevice*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="get_core_device"
-                      invoker="get_core_device"
-                      version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the core #ClutterInputDevice of type @device_type
-Core devices are devices created automatically by the default
-Clutter backend
-returned device is owned by the #ClutterDeviceManager and should
-not be modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterInputDevice or %NULL. The</doc>
-          <type name="InputDevice" c:type="ClutterInputDevice*"/>
-        </return-value>
-        <parameters>
-          <parameter name="type" transfer-ownership="none">
-            <type name="InputDeviceType" c:type="ClutterInputDeviceType"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="get_device" invoker="get_device" version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterInputDevice with the given @device_id
-returned device is owned by the #ClutterDeviceManager and should
-never be modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterInputDevice or %NULL. The</doc>
-          <type name="InputDevice" c:type="ClutterInputDevice*"/>
-        </return-value>
-        <parameters>
-          <parameter name="id" transfer-ownership="none">
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="get_devices">
-        <return-value transfer-ownership="none">
-          <type name="GLib.SList" c:type="GSList*">
-            <type name="gpointer" c:type="gpointer"/>
-          </type>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="remove_device">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="device" transfer-ownership="none">
-            <type name="InputDevice" c:type="ClutterInputDevice*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <method name="get_core_device"
-              c:identifier="clutter_device_manager_get_core_device"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the core #ClutterInputDevice of type @device_type
-Core devices are devices created automatically by the default
-Clutter backend
-returned device is owned by the #ClutterDeviceManager and should
-not be modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterInputDevice or %NULL. The</doc>
-          <type name="InputDevice" c:type="ClutterInputDevice*"/>
-        </return-value>
-        <parameters>
-          <parameter name="device_type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the type of the core device</doc>
-            <type name="InputDeviceType" c:type="ClutterInputDeviceType"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_device"
-              c:identifier="clutter_device_manager_get_device"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterInputDevice with the given @device_id
-returned device is owned by the #ClutterDeviceManager and should
-never be modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterInputDevice or %NULL. The</doc>
-          <type name="InputDevice" c:type="ClutterInputDevice*"/>
-        </return-value>
-        <parameters>
-          <parameter name="device_id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the integer id of a device</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="list_devices"
-              c:identifier="clutter_device_manager_list_devices"
-              version="1.2">
-        <doc xml:whitespace="preserve">Lists all currently registered input devices
-a newly allocated list of #ClutterInputDevice objects. Use
-g_slist_free() to deallocate it when done</doc>
-        <return-value transfer-ownership="container">
-          <type name="GLib.SList" c:type="GSList*">
-            <type name="InputDevice"/>
-          </type>
-        </return-value>
-      </method>
-      <method name="peek_devices"
-              c:identifier="clutter_device_manager_peek_devices"
-              version="1.2">
-        <doc xml:whitespace="preserve">Lists all currently registered input devices
-a pointer to the internal list of #ClutterInputDevice objects. The
-returned list is owned by the #ClutterDeviceManager and should never
-be modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <type name="GLib.SList" c:type="GSList*">
-            <type name="InputDevice"/>
-          </type>
-        </return-value>
-      </method>
-      <property name="backend"
-                writable="1"
-                construct-only="1"
-                transfer-ownership="none">
-        <type name="Backend"/>
-      </property>
-      <field name="parent_instance">
-        <type name="GObject.Object" c:type="GObject"/>
-      </field>
-      <field name="priv">
-        <type name="DeviceManagerPrivate"
-              c:type="ClutterDeviceManagerPrivate*"/>
-      </field>
-      <glib:signal name="device-added" version="1.2">
-        <doc xml:whitespace="preserve">The ::device-added signal is emitted each time a device has been
-added to the #ClutterDeviceManager</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the newly added #ClutterInputDevice</doc>
-            <type name="InputDevice"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="device-removed" version="1.2">
-        <doc xml:whitespace="preserve">The ::device-removed signal is emitted each time a device has been
-removed from the #ClutterDeviceManager</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the removed #ClutterInputDevice</doc>
-            <type name="InputDevice"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-    </class>
-    <record name="DeviceManagerClass"
-            c:type="ClutterDeviceManagerClass"
-            glib:is-gtype-struct-for="DeviceManager"
-            version="1.2">
-      <doc xml:whitespace="preserve">The #ClutterDeviceManagerClass structure contains only private data</doc>
-      <field name="parent_class">
-        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
-      </field>
-      <field name="get_devices">
-        <callback name="get_devices">
-          <return-value transfer-ownership="none">
-            <type name="GLib.SList" c:type="GSList*">
-              <type name="gpointer" c:type="gpointer"/>
-            </type>
-          </return-value>
-          <parameters>
-            <parameter name="manager" transfer-ownership="none">
-              <type name="DeviceManager" c:type="ClutterDeviceManager*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="get_core_device">
-        <callback name="get_core_device">
-          <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterInputDevice or %NULL. The</doc>
-            <type name="InputDevice" c:type="ClutterInputDevice*"/>
-          </return-value>
-          <parameters>
-            <parameter name="manager" transfer-ownership="none">
-              <type name="DeviceManager" c:type="ClutterDeviceManager*"/>
-            </parameter>
-            <parameter name="type" transfer-ownership="none">
-              <type name="InputDeviceType" c:type="ClutterInputDeviceType"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="get_device">
-        <callback name="get_device">
-          <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterInputDevice or %NULL. The</doc>
-            <type name="InputDevice" c:type="ClutterInputDevice*"/>
-          </return-value>
-          <parameters>
-            <parameter name="manager" transfer-ownership="none">
-              <type name="DeviceManager" c:type="ClutterDeviceManager*"/>
-            </parameter>
-            <parameter name="id" transfer-ownership="none">
-              <type name="gint" c:type="gint"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="add_device">
-        <callback name="add_device">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="manager" transfer-ownership="none">
-              <type name="DeviceManager" c:type="ClutterDeviceManager*"/>
-            </parameter>
-            <parameter name="device" transfer-ownership="none">
-              <type name="InputDevice" c:type="ClutterInputDevice*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="remove_device">
-        <callback name="remove_device">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="manager" transfer-ownership="none">
-              <type name="DeviceManager" c:type="ClutterDeviceManager*"/>
-            </parameter>
-            <parameter name="device" transfer-ownership="none">
-              <type name="InputDevice" c:type="ClutterInputDevice*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_padding">
-        <array zero-terminated="0" c:type="gpointer" fixed-size="8">
-          <type name="gpointer" c:type="gpointer"/>
-        </array>
-      </field>
-    </record>
-    <record name="DeviceManagerPrivate"
-            c:type="ClutterDeviceManagerPrivate"
-            disguised="1">
-    </record>
-    <constant name="Display" value="269025113">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Documents" value="269025115">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="DongSign" value="16785579">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Down" value="65364">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="DragAction"
-           c:symbol-prefix="drag_action"
-           c:type="ClutterDragAction"
-           version="1.4"
-           parent="Action"
-           glib:type-name="ClutterDragAction"
-           glib:get-type="clutter_drag_action_get_type"
-           glib:type-struct="DragActionClass">
-      <doc xml:whitespace="preserve">The &lt;structname&gt;ClutterDragAction&lt;/structname&gt; structure contains only
-private data and should be accessed using the provided API</doc>
-      <constructor name="new"
-                   c:identifier="clutter_drag_action_new"
-                   version="1.4">
-        <doc xml:whitespace="preserve">Creates a new #ClutterDragAction instance</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #ClutterDragAction</doc>
-          <type name="Action" c:type="ClutterAction*"/>
-        </return-value>
-      </constructor>
-      <method name="get_drag_axis"
-              c:identifier="clutter_drag_action_get_drag_axis"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the axis constraint set by clutter_drag_action_set_drag_axis()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the axis constraint</doc>
-          <type name="DragAxis" c:type="ClutterDragAxis"/>
-        </return-value>
-      </method>
-      <method name="get_drag_handle"
-              c:identifier="clutter_drag_action_get_drag_handle"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the drag handle set by clutter_drag_action_set_drag_handle()
-handle, or %NULL if none was set</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterActor, used as the drag</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-      </method>
-      <method name="get_drag_threshold"
-              c:identifier="clutter_drag_action_get_drag_threshold"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the values set by clutter_drag_action_set_drag_threshold()</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x_threshold"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the horizontal drag threshold value, in pixels</doc>
-            <type name="guint" c:type="guint*"/>
-          </parameter>
-          <parameter name="y_threshold"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the vertical drag threshold value, in pixels</doc>
-            <type name="guint" c:type="guint*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_motion_coords"
-              c:identifier="clutter_drag_action_get_motion_coords"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the coordinates, in stage space, of the latest motion
-event during the dragging</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="motion_x"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the latest motion event's X coordinate</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="motion_y"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the latest motion event's Y coordinate</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_press_coords"
-              c:identifier="clutter_drag_action_get_press_coords"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the coordinates, in stage space, of the press event
-that started the dragging</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="press_x"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the press event's X coordinate</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="press_y"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the press event's Y coordinate</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_drag_axis"
-              c:identifier="clutter_drag_action_set_drag_axis"
-              version="1.4">
-        <doc xml:whitespace="preserve">Restricts the dragging action to a specific axis</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="axis" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the axis to constraint the dragging to</doc>
-            <type name="DragAxis" c:type="ClutterDragAxis"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_drag_handle"
-              c:identifier="clutter_drag_action_set_drag_handle"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the actor to be used as the drag handle</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="handle" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_drag_threshold"
-              c:identifier="clutter_drag_action_set_drag_threshold"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the horizontal and vertical drag thresholds that must be
-cleared by the pointer before @action can begin the dragging</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x_threshold" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a distance on the horizontal axis, in pixels</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="y_threshold" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a distance on the vertical axis, in pixels</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="drag-axis"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Constraints the dragging action to the specified axis</doc>
-        <type name="DragAxis"/>
-      </property>
-      <property name="drag-handle"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The #ClutterActor that is effectively being dragged
-A #ClutterDragAction will, be default, use the #ClutterActor that
-has been attached to the action; it is possible to create a
-separate #ClutterActor and use it instead.
-Setting this property has no effect on the #ClutterActor argument
-passed to the #ClutterDragAction signals</doc>
-        <type name="Actor"/>
-      </property>
-      <property name="x-drag-threshold"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The horizontal threshold, in pixels, that begins a drag action
-When set to a non-zero value, #ClutterDragAction will only emit
-#ClutterDragAction::drag-begin if the pointer has moved
-horizontally at least of the given amount of pixels since
-the button press event</doc>
-        <type name="guint"/>
-      </property>
-      <property name="y-drag-threshold"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The vertical threshold, in pixels, that begins a drag action
-When set to a non-zero value, #ClutterDragAction will only emit
-#ClutterDragAction::drag-begin if the pointer has moved
-vertically at least of the given amount of pixels since
-the button press event</doc>
-        <type name="guint"/>
-      </property>
-      <field name="parent_instance">
-        <type name="Action" c:type="ClutterAction"/>
-      </field>
-      <field name="priv">
-        <type name="DragActionPrivate" c:type="ClutterDragActionPrivate*"/>
-      </field>
-      <glib:signal name="drag-begin" version="1.4">
-        <doc xml:whitespace="preserve">The ::drag-begin signal is emitted when the #ClutterDragAction
-starts the dragging
-The emission of this signal can be delayed by using the
-#ClutterDragAction:x-drag-threshold and
-#ClutterDragAction:y-drag-threshold properties</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #ClutterActor attached to the action</doc>
-            <type name="Actor"/>
-          </parameter>
-          <parameter name="p0" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the X coordinate (in stage space) of the press event</doc>
-            <type name="gfloat"/>
-          </parameter>
-          <parameter name="p1" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the Y coordinate (in stage space) of the press event</doc>
-            <type name="gfloat"/>
-          </parameter>
-          <parameter name="p2" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the modifiers of the press event</doc>
-            <type name="ModifierType"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="drag-end" version="1.4">
-        <doc xml:whitespace="preserve">The ::drag-end signal is emitted at the end of the dragging,
-when the pointer button's is released
-This signal is emitted if and only if the #ClutterDragAction::drag-begin
-signal has been emitted first</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #ClutterActor attached to the action</doc>
-            <type name="Actor"/>
-          </parameter>
-          <parameter name="p0" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the X coordinate (in stage space) of the release event</doc>
-            <type name="gfloat"/>
-          </parameter>
-          <parameter name="p1" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the Y coordinate (in stage space) of the release event</doc>
-            <type name="gfloat"/>
-          </parameter>
-          <parameter name="p2" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the modifiers of the release event</doc>
-            <type name="ModifierType"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="drag-motion">
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <type name="Actor"/>
-          </parameter>
-          <parameter name="p0" transfer-ownership="none">
-            <type name="gfloat"/>
-          </parameter>
-          <parameter name="p1" transfer-ownership="none">
-            <type name="gfloat"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-    </class>
-    <record name="DragActionClass"
-            c:type="ClutterDragActionClass"
-            glib:is-gtype-struct-for="DragAction"
-            version="1.4">
-      <doc xml:whitespace="preserve">The &lt;structname&gt;ClutterDragActionClass&lt;/structname&gt; structure contains
-only private data</doc>
-      <field name="parent_class">
-        <type name="ActionClass" c:type="ClutterActionClass"/>
-      </field>
-      <field name="drag_begin">
-        <callback name="drag_begin">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="action" transfer-ownership="none">
-              <type name="DragAction" c:type="ClutterDragAction*"/>
-            </parameter>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-            <parameter name="event_x" transfer-ownership="none">
-              <type name="gfloat" c:type="gfloat"/>
-            </parameter>
-            <parameter name="event_y" transfer-ownership="none">
-              <type name="gfloat" c:type="gfloat"/>
-            </parameter>
-            <parameter name="modifiers" transfer-ownership="none">
-              <type name="ModifierType" c:type="ClutterModifierType"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="drag_motion">
-        <callback name="drag_motion">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="action" transfer-ownership="none">
-              <type name="DragAction" c:type="ClutterDragAction*"/>
-            </parameter>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-            <parameter name="delta_x" transfer-ownership="none">
-              <type name="gfloat" c:type="gfloat"/>
-            </parameter>
-            <parameter name="delta_y" transfer-ownership="none">
-              <type name="gfloat" c:type="gfloat"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="drag_end">
-        <callback name="drag_end">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="action" transfer-ownership="none">
-              <type name="DragAction" c:type="ClutterDragAction*"/>
-            </parameter>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-            <parameter name="event_x" transfer-ownership="none">
-              <type name="gfloat" c:type="gfloat"/>
-            </parameter>
-            <parameter name="event_y" transfer-ownership="none">
-              <type name="gfloat" c:type="gfloat"/>
-            </parameter>
-            <parameter name="modifiers" transfer-ownership="none">
-              <type name="ModifierType" c:type="ClutterModifierType"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_clutter_drag_action1" introspectable="0">
-        <callback name="_clutter_drag_action1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_drag_action2" introspectable="0">
-        <callback name="_clutter_drag_action2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_drag_action3" introspectable="0">
-        <callback name="_clutter_drag_action3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_drag_action4" introspectable="0">
-        <callback name="_clutter_drag_action4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_drag_action5" introspectable="0">
-        <callback name="_clutter_drag_action5">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <record name="DragActionPrivate"
-            c:type="ClutterDragActionPrivate"
-            disguised="1">
-    </record>
-    <enumeration name="DragAxis"
-                 version="1.4"
-                 glib:type-name="ClutterDragAxis"
-                 glib:get-type="clutter_drag_axis_get_type"
-                 c:type="ClutterDragAxis">
-      <doc xml:whitespace="preserve">The axis of the constraint that should be applied on the
-dragging action</doc>
-      <member name="axis_none"
-              value="0"
-              c:identifier="CLUTTER_DRAG_AXIS_NONE"
-              glib:nick="axis-none"/>
-      <member name="x_axis"
-              value="1"
-              c:identifier="CLUTTER_DRAG_X_AXIS"
-              glib:nick="x-axis"/>
-      <member name="y_axis"
-              value="2"
-              c:identifier="CLUTTER_DRAG_Y_AXIS"
-              glib:nick="y-axis"/>
-    </enumeration>
-    <constant name="Dstroke" value="464">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="E" value="69">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ENG" value="957">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ETH" value="208">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Eabovedot" value="972">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Eacute" value="201">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ebelowdot" value="16785080">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ecaron" value="460">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ecircumflex" value="202">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ecircumflexacute" value="16785086">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ecircumflexbelowdot" value="16785094">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ecircumflexgrave" value="16785088">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ecircumflexhook" value="16785090">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ecircumflextilde" value="16785092">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="EcuSign" value="16785568">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ediaeresis" value="203">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="Effect"
-           c:symbol-prefix="effect"
-           c:type="ClutterEffect"
-           version="1.4"
-           parent="ActorMeta"
-           abstract="1"
-           glib:type-name="ClutterEffect"
-           glib:get-type="clutter_effect_get_type"
-           glib:type-struct="EffectClass">
-      <doc xml:whitespace="preserve">The #ClutterEffect structure contains only private data and should
-be accessed using the provided API</doc>
-      <virtual-method name="post_paint">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="pre_paint">
-        <return-value transfer-ownership="none">
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </virtual-method>
-      <field name="parent_instance">
-        <type name="ActorMeta" c:type="ClutterActorMeta"/>
-      </field>
-    </class>
-    <record name="EffectClass"
-            c:type="ClutterEffectClass"
-            glib:is-gtype-struct-for="Effect"
-            version="1.4">
-      <doc xml:whitespace="preserve">The #ClutterEffectClass structure contains only private data</doc>
-      <field name="parent_class">
-        <type name="ActorMetaClass" c:type="ClutterActorMetaClass"/>
-      </field>
-      <field name="pre_paint">
-        <callback name="pre_paint">
-          <return-value transfer-ownership="none">
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="effect" transfer-ownership="none">
-              <type name="Effect" c:type="ClutterEffect*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="post_paint">
-        <callback name="post_paint">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="effect" transfer-ownership="none">
-              <type name="Effect" c:type="ClutterEffect*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_clutter_effect1" introspectable="0">
-        <callback name="_clutter_effect1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_effect2" introspectable="0">
-        <callback name="_clutter_effect2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_effect3" introspectable="0">
-        <callback name="_clutter_effect3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_effect4" introspectable="0">
-        <callback name="_clutter_effect4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_effect5" introspectable="0">
-        <callback name="_clutter_effect5">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_effect6" introspectable="0">
-        <callback name="_clutter_effect6">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <constant name="Egrave" value="200">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ehook" value="16785082">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Eisu_Shift" value="65327">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Eisu_toggle" value="65328">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Eject" value="269025068">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Emacron" value="938">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="End" value="65367">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Eogonek" value="458">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Escape" value="65307">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Eth" value="208">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Etilde" value="16785084">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="EuroSign" value="8364">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <union name="Event"
-           c:type="ClutterEvent"
-           version="0.2"
-           glib:type-name="ClutterEvent"
-           glib:get-type="clutter_event_get_type"
-           c:symbol-prefix="event">
-      <doc xml:whitespace="preserve">Generic event wrapper.</doc>
-      <field name="type" writable="1">
-        <type name="EventType" c:type="ClutterEventType"/>
-      </field>
-      <field name="any" writable="1">
-        <type name="AnyEvent" c:type="ClutterAnyEvent"/>
-      </field>
-      <field name="button" writable="1">
-        <type name="ButtonEvent" c:type="ClutterButtonEvent"/>
-      </field>
-      <field name="key" writable="1">
-        <type name="KeyEvent" c:type="ClutterKeyEvent"/>
-      </field>
-      <field name="motion" writable="1">
-        <type name="MotionEvent" c:type="ClutterMotionEvent"/>
-      </field>
-      <field name="scroll" writable="1">
-        <type name="ScrollEvent" c:type="ClutterScrollEvent"/>
-      </field>
-      <field name="stage_state" writable="1">
-        <type name="StageStateEvent" c:type="ClutterStageStateEvent"/>
-      </field>
-      <field name="crossing" writable="1">
-        <type name="CrossingEvent" c:type="ClutterCrossingEvent"/>
-      </field>
-      <constructor name="new" c:identifier="clutter_event_new">
-        <doc xml:whitespace="preserve">Creates a new #ClutterEvent of the specified type.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">A newly allocated #ClutterEvent.</doc>
-          <type name="Event" c:type="ClutterEvent*"/>
-        </return-value>
-        <parameters>
-          <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The type of event.</doc>
-            <type name="EventType" c:type="ClutterEventType"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="copy" c:identifier="clutter_event_copy">
-        <doc xml:whitespace="preserve">Copies @event.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">A newly allocated #ClutterEvent</doc>
-          <type name="Event" c:type="ClutterEvent*"/>
-        </return-value>
-      </method>
-      <method name="free" c:identifier="clutter_event_free">
-        <doc xml:whitespace="preserve">Frees all resources used by @event.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="get_button"
-              c:identifier="clutter_event_get_button"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the button number of @event</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the button number</doc>
-          <type name="guint32" c:type="guint32"/>
-        </return-value>
-      </method>
-      <method name="get_click_count"
-              c:identifier="clutter_event_get_click_count"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the number of clicks of @event</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the click count</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_coords"
-              c:identifier="clutter_event_get_coords"
-              version="0.4">
-        <doc xml:whitespace="preserve">Retrieves the coordinates of @event and puts them into @x and @y.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the X coordinate, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="y"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the Y coordinate, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_device"
-              c:identifier="clutter_event_get_device"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterInputDevice for the event.
-The #ClutterInputDevice structure is completely opaque and should
-be cast to the platform-specific implementation.
-returned device is owned by the #ClutterEvent and it should not
-be unreferenced</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #ClutterInputDevice or %NULL. The</doc>
-          <type name="InputDevice" c:type="ClutterInputDevice*"/>
-        </return-value>
-      </method>
-      <method name="get_device_id" c:identifier="clutter_event_get_device_id">
-        <doc xml:whitespace="preserve">Retrieves the events device id if set.
-no specific device set.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">A unique identifier for the device or -1 if the event has</doc>
-          <type name="gint" c:type="gint"/>
-        </return-value>
-      </method>
-      <method name="get_device_type"
-              c:identifier="clutter_event_get_device_type"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the type of the device for @event
-any is set</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #ClutterInputDeviceType for the device, if</doc>
-          <type name="InputDeviceType" c:type="ClutterInputDeviceType"/>
-        </return-value>
-      </method>
-      <method name="get_flags"
-              c:identifier="clutter_event_get_flags"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterEventFlags of @event</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the event flags</doc>
-          <type name="EventFlags" c:type="ClutterEventFlags"/>
-        </return-value>
-      </method>
-      <method name="get_key_code"
-              c:identifier="clutter_event_get_key_code"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the keycode of the key that caused @event</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The keycode representing the key</doc>
-          <type name="guint16" c:type="guint16"/>
-        </return-value>
-      </method>
-      <method name="get_key_symbol"
-              c:identifier="clutter_event_get_key_symbol"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the key symbol of @event</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the key symbol representing the key</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_key_unicode"
-              c:identifier="clutter_event_get_key_unicode">
-        <doc xml:whitespace="preserve">Retrieves the unicode value for the key that caused @keyev.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The unicode value representing the key</doc>
-          <type name="guint32" c:type="guint32"/>
-        </return-value>
-      </method>
-      <method name="get_related"
-              c:identifier="clutter_event_get_related"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the related actor of a crossing event.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the related #ClutterActor, or %NULL</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-      </method>
-      <method name="get_scroll_direction"
-              c:identifier="clutter_event_get_scroll_direction"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the direction of the scrolling of @event</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the scrolling direction</doc>
-          <type name="ScrollDirection" c:type="ClutterScrollDirection"/>
-        </return-value>
-      </method>
-      <method name="get_source"
-              c:identifier="clutter_event_get_source"
-              version="0.6">
-        <doc xml:whitespace="preserve">Retrieves the source #ClutterActor the event originated from, or
-NULL if the event has no source.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterActor</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-      </method>
-      <method name="get_stage"
-              c:identifier="clutter_event_get_stage"
-              version="0.8">
-        <doc xml:whitespace="preserve">Retrieves the source #ClutterStage the event originated for, or
-%NULL if the event has no stage.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterStage</doc>
-          <type name="Stage" c:type="ClutterStage*"/>
-        </return-value>
-      </method>
-      <method name="get_state"
-              c:identifier="clutter_event_get_state"
-              version="0.4">
-        <doc xml:whitespace="preserve">Retrieves the modifier state of the event.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the modifier state parameter, or 0</doc>
-          <type name="ModifierType" c:type="ClutterModifierType"/>
-        </return-value>
-      </method>
-      <method name="get_time"
-              c:identifier="clutter_event_get_time"
-              version="0.4">
-        <doc xml:whitespace="preserve">Retrieves the time of the event.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the time of the event, or %CLUTTER_CURRENT_TIME</doc>
-          <type name="guint32" c:type="guint32"/>
-        </return-value>
-      </method>
-      <method name="put" c:identifier="clutter_event_put" version="0.6">
-        <doc xml:whitespace="preserve">Puts a copy of the event on the back of the event queue. The event will
-have the %CLUTTER_EVENT_FLAG_SYNTHETIC flag set. If the source is set
-event signals will be emitted for this source and capture/bubbling for
-its ancestors. If the source is not set it will be generated by picking
-or use the actor that currently has keyboard focus</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="type" c:identifier="clutter_event_type">
-        <doc xml:whitespace="preserve">Retrieves the type of the event.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterEventType</doc>
-          <type name="EventType" c:type="ClutterEventType"/>
-        </return-value>
-      </method>
-    </union>
-    <bitfield name="EventFlags"
-              version="0.6"
-              glib:type-name="ClutterEventFlags"
-              glib:get-type="clutter_event_flags_get_type"
-              c:type="ClutterEventFlags">
-      <doc xml:whitespace="preserve">Flags for the #ClutterEvent</doc>
-      <member name="none"
-              value="0"
-              c:identifier="CLUTTER_EVENT_NONE"
-              glib:nick="none"/>
-      <member name="flag_synthetic"
-              value="1"
-              c:identifier="CLUTTER_EVENT_FLAG_SYNTHETIC"
-              glib:nick="flag-synthetic"/>
-    </bitfield>
-    <enumeration name="EventType"
-                 version="0.4"
-                 glib:type-name="ClutterEventType"
-                 glib:get-type="clutter_event_type_get_type"
-                 c:type="ClutterEventType">
-      <doc xml:whitespace="preserve">Types of events.</doc>
-      <member name="nothing"
-              value="0"
-              c:identifier="CLUTTER_NOTHING"
-              glib:nick="nothing"/>
-      <member name="key_press"
-              value="1"
-              c:identifier="CLUTTER_KEY_PRESS"
-              glib:nick="key-press"/>
-      <member name="key_release"
-              value="2"
-              c:identifier="CLUTTER_KEY_RELEASE"
-              glib:nick="key-release"/>
-      <member name="motion"
-              value="3"
-              c:identifier="CLUTTER_MOTION"
-              glib:nick="motion"/>
-      <member name="enter"
-              value="4"
-              c:identifier="CLUTTER_ENTER"
-              glib:nick="enter"/>
-      <member name="leave"
-              value="5"
-              c:identifier="CLUTTER_LEAVE"
-              glib:nick="leave"/>
-      <member name="button_press"
-              value="6"
-              c:identifier="CLUTTER_BUTTON_PRESS"
-              glib:nick="button-press"/>
-      <member name="button_release"
-              value="7"
-              c:identifier="CLUTTER_BUTTON_RELEASE"
-              glib:nick="button-release"/>
-      <member name="scroll"
-              value="8"
-              c:identifier="CLUTTER_SCROLL"
-              glib:nick="scroll"/>
-      <member name="stage_state"
-              value="9"
-              c:identifier="CLUTTER_STAGE_STATE"
-              glib:nick="stage-state"/>
-      <member name="destroy_notify"
-              value="10"
-              c:identifier="CLUTTER_DESTROY_NOTIFY"
-              glib:nick="destroy-notify"/>
-      <member name="client_message"
-              value="11"
-              c:identifier="CLUTTER_CLIENT_MESSAGE"
-              glib:nick="client-message"/>
-      <member name="delete"
-              value="12"
-              c:identifier="CLUTTER_DELETE"
-              glib:nick="delete"/>
-    </enumeration>
-    <constant name="Excel" value="269025116">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Execute" value="65378">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Explorer" value="269025117">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F" value="70">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F1" value="65470">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F10" value="65479">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F11" value="65480">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F12" value="65481">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F13" value="65482">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F14" value="65483">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F15" value="65484">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F16" value="65485">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F17" value="65486">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F18" value="65487">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F19" value="65488">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F2" value="65471">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F20" value="65489">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F21" value="65490">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F22" value="65491">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F23" value="65492">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F24" value="65493">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F25" value="65494">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F26" value="65495">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F27" value="65496">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F28" value="65497">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F29" value="65498">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F3" value="65472">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F30" value="65499">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F31" value="65500">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F32" value="65501">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F33" value="65502">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F34" value="65503">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F35" value="65504">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F4" value="65473">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F5" value="65474">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F6" value="65475">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F7" value="65476">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F8" value="65477">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="F9" value="65478">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="FFrancSign" value="16785571">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="FLAVOUR" value="glx">
-      <type name="utf8" c:type="gchar*"/>
-    </constant>
-    <constant name="Fabovedot" value="16784926">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Farsi_0" value="16778992">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Farsi_1" value="16778993">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Farsi_2" value="16778994">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Farsi_3" value="16778995">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Farsi_4" value="16778996">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Farsi_5" value="16778997">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Farsi_6" value="16778998">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Farsi_7" value="16778999">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Farsi_8" value="16779000">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Farsi_9" value="16779001">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Farsi_yeh" value="16778956">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Favorites" value="269025072">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <bitfield name="FeatureFlags"
-              version="0.4"
-              glib:type-name="ClutterFeatureFlags"
-              glib:get-type="clutter_feature_flags_get_type"
-              c:type="ClutterFeatureFlags">
-      <doc xml:whitespace="preserve">Runtime flags indicating specific features available via Clutter window
-sysytem and graphics backend.</doc>
-      <member name="texture_npot"
-              value="4"
-              c:identifier="CLUTTER_FEATURE_TEXTURE_NPOT"
-              glib:nick="texture-npot"/>
-      <member name="sync_to_vblank"
-              value="8"
-              c:identifier="CLUTTER_FEATURE_SYNC_TO_VBLANK"
-              glib:nick="sync-to-vblank"/>
-      <member name="texture_yuv"
-              value="16"
-              c:identifier="CLUTTER_FEATURE_TEXTURE_YUV"
-              glib:nick="texture-yuv"/>
-      <member name="texture_read_pixels"
-              value="32"
-              c:identifier="CLUTTER_FEATURE_TEXTURE_READ_PIXELS"
-              glib:nick="texture-read-pixels"/>
-      <member name="stage_static"
-              value="64"
-              c:identifier="CLUTTER_FEATURE_STAGE_STATIC"
-              glib:nick="stage-static"/>
-      <member name="stage_user_resize"
-              value="128"
-              c:identifier="CLUTTER_FEATURE_STAGE_USER_RESIZE"
-              glib:nick="stage-user-resize"/>
-      <member name="stage_cursor"
-              value="256"
-              c:identifier="CLUTTER_FEATURE_STAGE_CURSOR"
-              glib:nick="stage-cursor"/>
-      <member name="shaders_glsl"
-              value="512"
-              c:identifier="CLUTTER_FEATURE_SHADERS_GLSL"
-              glib:nick="shaders-glsl"/>
-      <member name="offscreen"
-              value="1024"
-              c:identifier="CLUTTER_FEATURE_OFFSCREEN"
-              glib:nick="offscreen"/>
-      <member name="stage_multiple"
-              value="2048"
-              c:identifier="CLUTTER_FEATURE_STAGE_MULTIPLE"
-              glib:nick="stage-multiple"/>
-      <member name="swap_events"
-              value="4096"
-              c:identifier="CLUTTER_FEATURE_SWAP_EVENTS"
-              glib:nick="swap-events"/>
-    </bitfield>
-    <constant name="Finance" value="269025084">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Find" value="65384">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="First_Virtual_Screen" value="65232">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="FixedLayout"
-           c:symbol-prefix="fixed_layout"
-           c:type="ClutterFixedLayout"
-           version="1.2"
-           parent="LayoutManager"
-           glib:type-name="ClutterFixedLayout"
-           glib:get-type="clutter_fixed_layout_get_type"
-           glib:type-struct="FixedLayoutClass">
-      <doc xml:whitespace="preserve">The #ClutterFixedLayout structure contains only private data and
-it should be accessed using the provided API</doc>
-      <constructor name="new"
-                   c:identifier="clutter_fixed_layout_new"
-                   version="1.2">
-        <doc xml:whitespace="preserve">Creates a new #ClutterFixedLayout</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #ClutterFixedLayout</doc>
-          <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
-        </return-value>
-      </constructor>
-      <field name="parent_instance">
-        <type name="LayoutManager" c:type="ClutterLayoutManager"/>
-      </field>
-    </class>
-    <record name="FixedLayoutClass"
-            c:type="ClutterFixedLayoutClass"
-            glib:is-gtype-struct-for="FixedLayout"
-            version="1.2">
-      <doc xml:whitespace="preserve">The #ClutterFixedLayoutClass structure contains only private data
-and it should be accessed using the provided API</doc>
-      <field name="parent_class">
-        <type name="LayoutManagerClass" c:type="ClutterLayoutManagerClass"/>
-      </field>
-    </record>
-    <class name="FlowLayout"
-           c:symbol-prefix="flow_layout"
-           c:type="ClutterFlowLayout"
-           version="1.2"
-           parent="LayoutManager"
-           glib:type-name="ClutterFlowLayout"
-           glib:get-type="clutter_flow_layout_get_type"
-           glib:type-struct="FlowLayoutClass">
-      <doc xml:whitespace="preserve">The #ClutterFlowLayout structure contains only private data
-and should be accessed using the provided API</doc>
-      <constructor name="new"
-                   c:identifier="clutter_flow_layout_new"
-                   version="1.2">
-        <doc xml:whitespace="preserve">Creates a new #ClutterFlowLayout with the given @orientation</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #ClutterFlowLayout</doc>
-          <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
-        </return-value>
-        <parameters>
-          <parameter name="orientation" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the orientation of the flow layout</doc>
-            <type name="FlowOrientation" c:type="ClutterFlowOrientation"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="get_column_spacing"
-              c:identifier="clutter_flow_layout_get_column_spacing"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the spacing between columns
-in pixels</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the spacing between columns of the #ClutterFlowLayout,</doc>
-          <type name="gfloat" c:type="gfloat"/>
-        </return-value>
-      </method>
-      <method name="get_column_width"
-              c:identifier="clutter_flow_layout_get_column_width"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the minimum and maximum column widths</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="min_width"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the minimum column width, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="max_width"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the maximum column width, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_homogeneous"
-              c:identifier="clutter_flow_layout_get_homogeneous"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves whether the @layout is homogeneous</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the #ClutterFlowLayout is homogeneous</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_orientation"
-              c:identifier="clutter_flow_layout_get_orientation"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the orientation of the @layout</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the orientation of the #ClutterFlowLayout</doc>
-          <type name="FlowOrientation" c:type="ClutterFlowOrientation"/>
-        </return-value>
-      </method>
-      <method name="get_row_height"
-              c:identifier="clutter_flow_layout_get_row_height"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the minimum and maximum row heights</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="min_height"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the minimum row height, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="max_height"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the maximum row height, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_row_spacing"
-              c:identifier="clutter_flow_layout_get_row_spacing"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the spacing between rows
-in pixels</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the spacing between rows of the #ClutterFlowLayout,</doc>
-          <type name="gfloat" c:type="gfloat"/>
-        </return-value>
-      </method>
-      <method name="set_column_spacing"
-              c:identifier="clutter_flow_layout_set_column_spacing"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets the space between columns, in pixels</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="spacing" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the space between columns</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_column_width"
-              c:identifier="clutter_flow_layout_set_column_width"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets the minimum and maximum widths that a column can have</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="min_width" transfer-ownership="none">
-            <doc xml:whitespace="preserve">minimum width of a column</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="max_width" transfer-ownership="none">
-            <doc xml:whitespace="preserve">maximum width of a column</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_homogeneous"
-              c:identifier="clutter_flow_layout_set_homogeneous"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets whether the @layout should allocate the same space for
-each child</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="homogeneous" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether the layout should be homogeneous or not</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_orientation"
-              c:identifier="clutter_flow_layout_set_orientation"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets the orientation of the flow layout
-The orientation controls the direction used to allocate
-orientation also controls the direction of the overflowing</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="orientation" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the orientation of the layout</doc>
-            <type name="FlowOrientation" c:type="ClutterFlowOrientation"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_row_height"
-              c:identifier="clutter_flow_layout_set_row_height"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets the minimum and maximum heights that a row can have</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="min_height" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the minimum height of a row</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="max_height" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the maximum height of a row</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_row_spacing"
-              c:identifier="clutter_flow_layout_set_row_spacing"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets the spacing between rows, in pixels</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="spacing" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the space between rows</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="column-spacing"
-                version="1.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The spacing between columns, in pixels; the value of this
-property is honoured by horizontal non-overflowing layouts
-and by vertical overflowing layouts</doc>
-        <type name="gfloat"/>
-      </property>
-      <property name="homogeneous"
-                version="1.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether each child inside the #ClutterFlowLayout should receive
-the same allocation</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="max-column-width"
-                version="1.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Maximum width for each column in the layout, in pixels. If
-set to -1 the width will be the maximum child width</doc>
-        <type name="gfloat"/>
-      </property>
-      <property name="max-row-height"
-                version="1.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Maximum height for each row in the layout, in pixels. If
-set to -1 the width will be the maximum child height</doc>
-        <type name="gfloat"/>
-      </property>
-      <property name="min-column-width"
-                version="1.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Minimum width for each column in the layout, in pixels</doc>
-        <type name="gfloat"/>
-      </property>
-      <property name="min-row-height"
-                version="1.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Minimum height for each row in the layout, in pixels</doc>
-        <type name="gfloat"/>
-      </property>
-      <property name="orientation"
-                version="1.2"
-                writable="1"
-                construct="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The orientation of the #ClutterFlowLayout. The children
-of the layout will be layed out following the orientation.
-This property also controls the overflowing directions</doc>
-        <type name="FlowOrientation"/>
-      </property>
-      <property name="row-spacing"
-                version="1.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The spacing between rows, in pixels; the value of this
-property is honoured by vertical non-overflowing layouts and
-by horizontal overflowing layouts</doc>
-        <type name="gfloat"/>
-      </property>
-      <field name="parent_instance">
-        <type name="LayoutManager" c:type="ClutterLayoutManager"/>
-      </field>
-      <field name="priv">
-        <type name="FlowLayoutPrivate" c:type="ClutterFlowLayoutPrivate*"/>
-      </field>
-    </class>
-    <record name="FlowLayoutClass"
-            c:type="ClutterFlowLayoutClass"
-            glib:is-gtype-struct-for="FlowLayout"
-            version="1.2">
-      <doc xml:whitespace="preserve">The #ClutterFlowLayoutClass structure contains only private data
-and should be accessed using the provided API</doc>
-      <field name="parent_class">
-        <type name="LayoutManagerClass" c:type="ClutterLayoutManagerClass"/>
-      </field>
-    </record>
-    <record name="FlowLayoutPrivate"
-            c:type="ClutterFlowLayoutPrivate"
-            disguised="1">
-    </record>
-    <enumeration name="FlowOrientation"
-                 version="1.2"
-                 glib:type-name="ClutterFlowOrientation"
-                 glib:get-type="clutter_flow_orientation_get_type"
-                 c:type="ClutterFlowOrientation">
-      <doc xml:whitespace="preserve">The direction of the arrangement of the children inside
-a #ClutterFlowLayout</doc>
-      <member name="horizontal"
-              value="0"
-              c:identifier="CLUTTER_FLOW_HORIZONTAL"
-              glib:nick="horizontal"/>
-      <member name="vertical"
-              value="1"
-              c:identifier="CLUTTER_FLOW_VERTICAL"
-              glib:nick="vertical"/>
-    </enumeration>
-    <record name="Fog"
-            c:type="ClutterFog"
-            version="0.6"
-            glib:type-name="ClutterFog"
-            glib:get-type="clutter_fog_get_type"
-            c:symbol-prefix="fog">
-      <doc xml:whitespace="preserve">Fog settings used to create the depth cueing effect.</doc>
-      <field name="z_near" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-      <field name="z_far" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-    </record>
-    <bitfield name="FontFlags"
-              version="1.0"
-              glib:type-name="ClutterFontFlags"
-              glib:get-type="clutter_font_flags_get_type"
-              c:type="ClutterFontFlags">
-      <doc xml:whitespace="preserve">Runtime flags to change the font quality. To be used with
-clutter_set_font_flags().</doc>
-      <member name="mipmapping"
-              value="1"
-              c:identifier="CLUTTER_FONT_MIPMAPPING"
-              glib:nick="mipmapping"/>
-      <member name="hinting"
-              value="2"
-              c:identifier="CLUTTER_FONT_HINTING"
-              glib:nick="hinting"/>
-    </bitfield>
-    <constant name="Forward" value="269025063">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="FrameBack" value="269025181">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="FrameForward" value="269025182">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="G" value="71">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Gabovedot" value="725">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Game" value="269025118">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Gbreve" value="683">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Gcaron" value="16777702">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Gcedilla" value="939">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Gcircumflex" value="728">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <record name="Geometry"
-            c:type="ClutterGeometry"
-            glib:type-name="ClutterGeometry"
-            glib:get-type="clutter_geometry_get_type"
-            c:symbol-prefix="geometry">
-      <doc xml:whitespace="preserve">The rectangle containing an actor's bounding box, measured in pixels.</doc>
-      <field name="x" writable="1">
-        <type name="gint" c:type="gint"/>
-      </field>
-      <field name="y" writable="1">
-        <type name="gint" c:type="gint"/>
-      </field>
-      <field name="width" writable="1">
-        <type name="guint" c:type="guint"/>
-      </field>
-      <field name="height" writable="1">
-        <type name="guint" c:type="guint"/>
-      </field>
-      <method name="intersects"
-              c:identifier="clutter_geometry_intersects"
-              version="1.4">
-        <doc xml:whitespace="preserve">Determines if @geometry0 and geometry1 intersect returning %TRUE if
-they do else %FALSE.
-%FALSE.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE of @geometry0 and geometry1 intersect else</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="geometry1" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The second geometry to test</doc>
-            <type name="Geometry" c:type="ClutterGeometry*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="union" c:identifier="clutter_geometry_union" version="1.4">
-        <doc xml:whitespace="preserve">Find the union of two rectangles represented as #ClutterGeometry.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="geometry_b" transfer-ownership="none">
-            <doc xml:whitespace="preserve">another #ClutterGeometry</doc>
-            <type name="Geometry" c:type="ClutterGeometry*"/>
-          </parameter>
-          <parameter name="result"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">location to store the result</doc>
-            <type name="Geometry" c:type="ClutterGeometry*"/>
-          </parameter>
-        </parameters>
-      </method>
-    </record>
-    <constant name="Georgian_an" value="16781520">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_ban" value="16781521">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_can" value="16781546">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_char" value="16781549">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_chin" value="16781545">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_cil" value="16781548">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_don" value="16781523">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_en" value="16781524">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_fi" value="16781558">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_gan" value="16781522">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_ghan" value="16781542">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_hae" value="16781552">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_har" value="16781556">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_he" value="16781553">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_hie" value="16781554">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_hoe" value="16781557">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_in" value="16781528">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_jhan" value="16781551">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_jil" value="16781547">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_kan" value="16781529">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_khar" value="16781541">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_las" value="16781530">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_man" value="16781531">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_nar" value="16781532">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_on" value="16781533">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_par" value="16781534">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_phar" value="16781540">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_qar" value="16781543">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_rae" value="16781536">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_san" value="16781537">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_shin" value="16781544">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_tan" value="16781527">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_tar" value="16781538">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_un" value="16781539">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_vin" value="16781525">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_we" value="16781555">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_xan" value="16781550">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_zen" value="16781526">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Georgian_zhar" value="16781535">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Go" value="269025119">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <enumeration name="Gravity"
-                 version="0.2"
-                 glib:type-name="ClutterGravity"
-                 glib:get-type="clutter_gravity_get_type"
-                 c:type="ClutterGravity">
-      <doc xml:whitespace="preserve">Gravity of the scaling operations. When a gravity different than
-%CLUTTER_GRAVITY_NONE is used, an actor is scaled keeping the position
-of the specified portion at the same coordinates.</doc>
-      <member name="none"
-              value="0"
-              c:identifier="CLUTTER_GRAVITY_NONE"
-              glib:nick="none"/>
-      <member name="north"
-              value="1"
-              c:identifier="CLUTTER_GRAVITY_NORTH"
-              glib:nick="north"/>
-      <member name="north_east"
-              value="2"
-              c:identifier="CLUTTER_GRAVITY_NORTH_EAST"
-              glib:nick="north-east"/>
-      <member name="east"
-              value="3"
-              c:identifier="CLUTTER_GRAVITY_EAST"
-              glib:nick="east"/>
-      <member name="south_east"
-              value="4"
-              c:identifier="CLUTTER_GRAVITY_SOUTH_EAST"
-              glib:nick="south-east"/>
-      <member name="south"
-              value="5"
-              c:identifier="CLUTTER_GRAVITY_SOUTH"
-              glib:nick="south"/>
-      <member name="south_west"
-              value="6"
-              c:identifier="CLUTTER_GRAVITY_SOUTH_WEST"
-              glib:nick="south-west"/>
-      <member name="west"
-              value="7"
-              c:identifier="CLUTTER_GRAVITY_WEST"
-              glib:nick="west"/>
-      <member name="north_west"
-              value="8"
-              c:identifier="CLUTTER_GRAVITY_NORTH_WEST"
-              glib:nick="north-west"/>
-      <member name="center"
-              value="9"
-              c:identifier="CLUTTER_GRAVITY_CENTER"
-              glib:nick="center"/>
-    </enumeration>
-    <constant name="Greek_ALPHA" value="1985">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_ALPHAaccent" value="1953">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_BETA" value="1986">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_CHI" value="2007">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_DELTA" value="1988">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_EPSILON" value="1989">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_EPSILONaccent" value="1954">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_ETA" value="1991">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_ETAaccent" value="1955">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_GAMMA" value="1987">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_IOTA" value="1993">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_IOTAaccent" value="1956">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_IOTAdiaeresis" value="1957">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_IOTAdieresis" value="1957">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_KAPPA" value="1994">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_LAMBDA" value="1995">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_LAMDA" value="1995">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_MU" value="1996">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_NU" value="1997">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_OMEGA" value="2009">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_OMEGAaccent" value="1963">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_OMICRON" value="1999">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_OMICRONaccent" value="1959">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_PHI" value="2006">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_PI" value="2000">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_PSI" value="2008">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_RHO" value="2001">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_SIGMA" value="2002">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_TAU" value="2004">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_THETA" value="1992">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_UPSILON" value="2005">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_UPSILONaccent" value="1960">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_UPSILONdieresis" value="1961">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_XI" value="1998">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_ZETA" value="1990">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_accentdieresis" value="1966">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_alpha" value="2017">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_alphaaccent" value="1969">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_beta" value="2018">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_chi" value="2039">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_delta" value="2020">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_epsilon" value="2021">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_epsilonaccent" value="1970">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_eta" value="2023">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_etaaccent" value="1971">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_finalsmallsigma" value="2035">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_gamma" value="2019">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_horizbar" value="1967">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_iota" value="2025">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_iotaaccent" value="1972">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_iotaaccentdieresis" value="1974">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_iotadieresis" value="1973">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_kappa" value="2026">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_lambda" value="2027">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_lamda" value="2027">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_mu" value="2028">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_nu" value="2029">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_omega" value="2041">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_omegaaccent" value="1979">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_omicron" value="2031">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_omicronaccent" value="1975">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_phi" value="2038">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_pi" value="2032">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_psi" value="2040">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_rho" value="2033">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_sigma" value="2034">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_switch" value="65406">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_tau" value="2036">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_theta" value="2024">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_upsilon" value="2037">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_upsilonaccent" value="1976">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_upsilonaccentdieresis" value="1978">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_upsilondieresis" value="1977">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_xi" value="2030">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Greek_zeta" value="2022">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Green" value="269025188">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="Group"
-           c:symbol-prefix="group"
-           c:type="ClutterGroup"
-           version="0.1"
-           parent="Actor"
-           glib:type-name="ClutterGroup"
-           glib:get-type="clutter_group_get_type"
-           glib:type-struct="GroupClass">
-      <doc xml:whitespace="preserve">The #ClutterGroup structure contains only private data
-and should be accessed using the provided API</doc>
-      <implements name="Atk.ImplementorIface"/>
-      <implements name="Animatable"/>
-      <implements name="Container"/>
-      <implements name="Scriptable"/>
-      <constructor name="new" c:identifier="clutter_group_new">
-        <doc xml:whitespace="preserve">Create a new  #ClutterGroup.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #ClutterGroup actor</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-      </constructor>
-      <method name="get_n_children"
-              c:identifier="clutter_group_get_n_children"
-              version="0.2">
-        <doc xml:whitespace="preserve">Gets the number of actors held in the group.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The number of child actors held in the group.</doc>
-          <type name="gint" c:type="gint"/>
-        </return-value>
-      </method>
-      <method name="get_nth_child"
-              c:identifier="clutter_group_get_nth_child"
-              version="0.2">
-        <doc xml:whitespace="preserve">Gets a groups child held at @index_ in stack.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">A Clutter actor, or %NULL if</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-        <parameters>
-          <parameter name="index_" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the position of the requested actor.</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="remove_all" c:identifier="clutter_group_remove_all">
-        <doc xml:whitespace="preserve">Removes all children actors from the #ClutterGroup.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <field name="parent_instance">
-        <type name="Actor" c:type="ClutterActor"/>
-      </field>
-      <field name="priv">
-        <type name="GroupPrivate" c:type="ClutterGroupPrivate*"/>
-      </field>
-    </class>
-    <record name="GroupClass"
-            c:type="ClutterGroupClass"
-            glib:is-gtype-struct-for="Group"
-            version="0.1">
-      <doc xml:whitespace="preserve">The #ClutterGroupClass structure contains only private data</doc>
-      <field name="parent_class">
-        <type name="ActorClass" c:type="ClutterActorClass"/>
-      </field>
-      <field name="_clutter_reserved1" introspectable="0">
-        <callback name="_clutter_reserved1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved2" introspectable="0">
-        <callback name="_clutter_reserved2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved3" introspectable="0">
-        <callback name="_clutter_reserved3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved4" introspectable="0">
-        <callback name="_clutter_reserved4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved5" introspectable="0">
-        <callback name="_clutter_reserved5">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved6" introspectable="0">
-        <callback name="_clutter_reserved6">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <record name="GroupPrivate" c:type="ClutterGroupPrivate" disguised="1">
-    </record>
-    <constant name="H" value="72">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul" value="65329">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_A" value="3775">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_AE" value="3776">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_AraeA" value="3830">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_AraeAE" value="3831">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_Banja" value="65337">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_Cieuc" value="3770">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_Codeinput" value="65335">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_Dikeud" value="3751">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_E" value="3780">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_EO" value="3779">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_EU" value="3793">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_End" value="65331">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_Hanja" value="65332">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_Hieuh" value="3774">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_I" value="3795">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_Ieung" value="3767">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_Cieuc" value="3818">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_Dikeud" value="3802">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_Hieuh" value="3822">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_Ieung" value="3816">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_Jieuj" value="3817">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_Khieuq" value="3819">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_Kiyeog" value="3796">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_KiyeogSios" value="3798">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_KkogjiDalrinIeung" value="3833">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_Mieum" value="3811">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_Nieun" value="3799">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_NieunHieuh" value="3801">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_NieunJieuj" value="3800">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_PanSios" value="3832">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_Phieuf" value="3821">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_Pieub" value="3812">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_PieubSios" value="3813">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_Rieul" value="3803">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_RieulHieuh" value="3810">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_RieulKiyeog" value="3804">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_RieulMieum" value="3805">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_RieulPhieuf" value="3809">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_RieulPieub" value="3806">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_RieulSios" value="3807">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_RieulTieut" value="3808">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_Sios" value="3814">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_SsangKiyeog" value="3797">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_SsangSios" value="3815">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_Tieut" value="3820">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_J_YeorinHieuh" value="3834">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_Jamo" value="65333">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_Jeonja" value="65336">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_Jieuj" value="3768">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_Khieuq" value="3771">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_Kiyeog" value="3745">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_KiyeogSios" value="3747">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_KkogjiDalrinIeung" value="3827">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_Mieum" value="3761">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_MultipleCandidate" value="65341">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_Nieun" value="3748">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_NieunHieuh" value="3750">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_NieunJieuj" value="3749">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_O" value="3783">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_OE" value="3786">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_PanSios" value="3826">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_Phieuf" value="3773">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_Pieub" value="3762">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_PieubSios" value="3764">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_PostHanja" value="65339">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_PreHanja" value="65338">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_PreviousCandidate" value="65342">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_Rieul" value="3753">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_RieulHieuh" value="3760">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_RieulKiyeog" value="3754">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_RieulMieum" value="3755">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_RieulPhieuf" value="3759">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_RieulPieub" value="3756">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_RieulSios" value="3757">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_RieulTieut" value="3758">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_RieulYeorinHieuh" value="3823">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_Romaja" value="65334">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_SingleCandidate" value="65340">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_Sios" value="3765">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_Special" value="65343">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_SsangDikeud" value="3752">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_SsangJieuj" value="3769">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_SsangKiyeog" value="3746">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_SsangPieub" value="3763">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_SsangSios" value="3766">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_Start" value="65330">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_SunkyeongeumMieum" value="3824">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_SunkyeongeumPhieuf" value="3828">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_SunkyeongeumPieub" value="3825">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_Tieut" value="3772">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_U" value="3788">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_WA" value="3784">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_WAE" value="3785">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_WE" value="3790">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_WEO" value="3789">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_WI" value="3791">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_YA" value="3777">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_YAE" value="3778">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_YE" value="3782">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_YEO" value="3781">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_YI" value="3794">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_YO" value="3787">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_YU" value="3792">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_YeorinHieuh" value="3829">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hangul_switch" value="65406">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hankaku" value="65321">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hcircumflex" value="678">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hebrew_switch" value="65406">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Help" value="65386">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Henkan" value="65315">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Henkan_Mode" value="65315">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hibernate" value="269025192">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hiragana" value="65317">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hiragana_Katakana" value="65319">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="History" value="269025079">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Home" value="65360">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="HomePage" value="269025048">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="HotLinks" value="269025082">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hstroke" value="673">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hyper_L" value="65517">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Hyper_R" value="65518">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="I" value="73">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Center_Object" value="65075">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Continuous_Underline" value="65072">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Discontinuous_Underline" value="65073">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Emphasize" value="65074">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Enter" value="65076">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Fast_Cursor_Down" value="65071">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Fast_Cursor_Left" value="65068">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Fast_Cursor_Right" value="65069">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Fast_Cursor_Up" value="65070">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_First_Group" value="65036">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_First_Group_Lock" value="65037">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Group_Latch" value="65030">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Group_Lock" value="65031">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Group_Shift" value="65406">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Last_Group" value="65038">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Last_Group_Lock" value="65039">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Left_Tab" value="65056">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Level2_Latch" value="65026">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Level3_Latch" value="65028">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Level3_Lock" value="65029">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Level3_Shift" value="65027">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Level5_Latch" value="65042">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Level5_Lock" value="65043">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Level5_Shift" value="65041">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Lock" value="65025">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Move_Line_Down" value="65058">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Move_Line_Up" value="65057">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Next_Group" value="65032">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Next_Group_Lock" value="65033">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Partial_Line_Down" value="65060">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Partial_Line_Up" value="65059">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Partial_Space_Left" value="65061">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Partial_Space_Right" value="65062">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Prev_Group" value="65034">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Prev_Group_Lock" value="65035">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Release_Both_Margins" value="65067">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Release_Margin_Left" value="65065">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Release_Margin_Right" value="65066">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Set_Margin_Left" value="65063">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ISO_Set_Margin_Right" value="65064">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Iabovedot" value="681">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Iacute" value="205">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ibelowdot" value="16785098">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ibreve" value="16777516">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Icircumflex" value="206">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Idiaeresis" value="207">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Igrave" value="204">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ihook" value="16785096">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Imacron" value="975">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <enumeration name="InitError"
-                 version="0.2"
-                 glib:type-name="ClutterInitError"
-                 glib:get-type="clutter_init_error_get_type"
-                 c:type="ClutterInitError"
-                 glib:error-quark="clutter_init_error_quark">
-      <doc xml:whitespace="preserve">Error conditions returned by clutter_init() and clutter_init_with_args().</doc>
-      <member name="success"
-              value="1"
-              c:identifier="CLUTTER_INIT_SUCCESS"
-              glib:nick="success"/>
-      <member name="error_unknown"
-              value="0"
-              c:identifier="CLUTTER_INIT_ERROR_UNKNOWN"
-              glib:nick="error-unknown"/>
-      <member name="error_threads"
-              value="-1"
-              c:identifier="CLUTTER_INIT_ERROR_THREADS"
-              glib:nick="error-threads"/>
-      <member name="error_backend"
-              value="-2"
-              c:identifier="CLUTTER_INIT_ERROR_BACKEND"
-              glib:nick="error-backend"/>
-      <member name="error_internal"
-              value="-3"
-              c:identifier="CLUTTER_INIT_ERROR_INTERNAL"
-              glib:nick="error-internal"/>
-    </enumeration>
-    <class name="InputDevice"
-           c:symbol-prefix="input_device"
-           c:type="ClutterInputDevice"
-           parent="GObject.Object"
-           glib:type-name="ClutterInputDevice"
-           glib:get-type="clutter_input_device_get_type"
-           glib:type-struct="InputDeviceClass">
-      <doc xml:whitespace="preserve">Generic representation of an input device. The actual contents of this
-structure depend on the backend used.</doc>
-      <method name="get_device_coords"
-              c:identifier="clutter_input_device_get_device_coords"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the latest coordinates of the pointer of @device</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the X coordinate</doc>
-            <type name="gint" c:type="gint*"/>
-          </parameter>
-          <parameter name="y"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the Y coordinate</doc>
-            <type name="gint" c:type="gint*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_device_id"
-              c:identifier="clutter_input_device_get_device_id"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the unique identifier of @device</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the identifier of the device</doc>
-          <type name="gint" c:type="gint"/>
-        </return-value>
-      </method>
-      <method name="get_device_name"
-              c:identifier="clutter_input_device_get_device_name"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the name of the @device
-is owned by the #ClutterInputDevice and should never be modified
-or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the name of the device, or %NULL. The returned string</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-      <method name="get_device_type"
-              c:identifier="clutter_input_device_get_device_type"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the type of @device</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the type of the device</doc>
-          <type name="InputDeviceType" c:type="ClutterInputDeviceType"/>
-        </return-value>
-      </method>
-      <method name="get_pointer_actor"
-              c:identifier="clutter_input_device_get_pointer_actor"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterActor underneath the pointer of @device</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to the #ClutterActor or %NULL</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-      </method>
-      <method name="get_pointer_stage"
-              c:identifier="clutter_input_device_get_pointer_stage"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterStage underneath the pointer of @device</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to the #ClutterStage or %NULL</doc>
-          <type name="Stage" c:type="ClutterStage*"/>
-        </return-value>
-      </method>
-      <method name="update_from_event"
-              c:identifier="clutter_input_device_update_from_event"
-              version="1.2">
-        <doc xml:whitespace="preserve">Forcibly updates the state of the @device using a #ClutterEvent
-for integration with embedding toolkits, like clutter-gtk
-Embedding toolkits that disable the event collection inside Clutter
-need to use this function to update the state of input devices depending
-on a #ClutterEvent that they are going to submit to the event handling code
-in Clutter though clutter_do_event(). Since the input devices hold the state
-that is going to be used to fill in fields like the #ClutterButtonEvent
-click count, or to emit synthesized events like %CLUTTER_ENTER and
-%CLUTTER_LEAVE, it is necessary for embedding toolkits to also be
-responsible of updating the input device state.
-For instance, this might be the code to translate an embedding toolkit
-native motion notification into a Clutter #ClutterMotionEvent and ask
-Clutter to process it:
-|[
-ClutterEvent c_event;
-translate_native_event_to_clutter (native_event, &amp;amp;c_event);
-clutter_do_event (&amp;amp;c_event);
-]|
-Before letting clutter_do_event() process the event, it is necessary to call
-clutter_input_device_update_from_event():
-|[
-ClutterEvent c_event;
-ClutterDeviceManager *manager;
-ClutterInputDevice *device;
-translate_native_event_to_clutter (native_event, &amp;amp;c_event);
-/&amp;ast; get the device manager &amp;ast;/
-manager = clutter_device_manager_get_default ();
-/&amp;ast; use the default Core Pointer that Clutter
-&amp;ast; backends register by default
-&amp;ast;/
-device = clutter_device_manager_get_core_device (manager, %CLUTTER_POINTER_DEVICE);
-/&amp;ast; update the state of the input device &amp;ast;/
-clutter_input_device_update_from_event (device, &amp;amp;c_event, FALSE);
-clutter_do_event (&amp;amp;c_event);
-]|
-The @update_stage boolean argument should be used when the input device
-enters and leaves a #ClutterStage; it will use the #ClutterStage field
-of the passed @event to update the stage associated to the input device.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="event" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterEvent</doc>
-            <type name="Event" c:type="ClutterEvent*"/>
-          </parameter>
-          <parameter name="update_stage" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether to update the #ClutterStage of the @device using the stage of the event</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="device-type"
-                version="1.2"
-                writable="1"
-                construct-only="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The type of the device</doc>
-        <type name="InputDeviceType"/>
-      </property>
-      <property name="id"
-                version="1.2"
-                writable="1"
-                construct-only="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The unique identifier of the device</doc>
-        <type name="gint"/>
-      </property>
-      <property name="name"
-                version="1.2"
-                writable="1"
-                construct-only="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The name of the device</doc>
-        <type name="utf8"/>
-      </property>
-    </class>
-    <record name="InputDeviceClass"
-            c:type="ClutterInputDeviceClass"
-            glib:is-gtype-struct-for="InputDevice"
-            version="1.2">
-      <doc xml:whitespace="preserve">The #ClutterInputDeviceClass structure contains only private
-data and should not be accessed directly</doc>
-      <field name="parent_class">
-        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
-      </field>
-    </record>
-    <enumeration name="InputDeviceType"
-                 version="1.0"
-                 glib:type-name="ClutterInputDeviceType"
-                 glib:get-type="clutter_input_device_type_get_type"
-                 c:type="ClutterInputDeviceType">
-      <doc xml:whitespace="preserve">The types of input devices available.
-The #ClutterInputDeviceType enumeration can be extended at later
-date; not every platform supports every input device type.</doc>
-      <member name="pointer_device"
-              value="0"
-              c:identifier="CLUTTER_POINTER_DEVICE"
-              glib:nick="pointer-device"/>
-      <member name="keyboard_device"
-              value="1"
-              c:identifier="CLUTTER_KEYBOARD_DEVICE"
-              glib:nick="keyboard-device"/>
-      <member name="extension_device"
-              value="2"
-              c:identifier="CLUTTER_EXTENSION_DEVICE"
-              glib:nick="extension-device"/>
-      <member name="n_device_types"
-              value="3"
-              c:identifier="CLUTTER_N_DEVICE_TYPES"
-              glib:nick="n-device-types"/>
-    </enumeration>
-    <constant name="Insert" value="65379">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <enumeration name="Interpolation"
-                 version="1.2"
-                 glib:type-name="ClutterInterpolation"
-                 glib:get-type="clutter_interpolation_get_type"
-                 c:type="ClutterInterpolation">
-      <doc xml:whitespace="preserve">The mode of interpolation between key frames</doc>
-      <member name="linear"
-              value="0"
-              c:identifier="CLUTTER_INTERPOLATION_LINEAR"
-              glib:nick="linear"/>
-      <member name="cubic"
-              value="1"
-              c:identifier="CLUTTER_INTERPOLATION_CUBIC"
-              glib:nick="cubic"/>
-    </enumeration>
-    <class name="Interval"
-           c:symbol-prefix="interval"
-           c:type="ClutterInterval"
-           version="1.0"
-           parent="GObject.InitiallyUnowned"
-           glib:type-name="ClutterInterval"
-           glib:get-type="clutter_interval_get_type"
-           glib:type-struct="IntervalClass">
-      <doc xml:whitespace="preserve">The #ClutterInterval structure contains only private data and should
-be accessed using the provided functions.</doc>
-      <constructor name="new"
-                   c:identifier="clutter_interval_new"
-                   version="1.0"
-                   introspectable="0">
-        <doc xml:whitespace="preserve">Creates a new #ClutterInterval holding values of type @gtype.
-This function avoids using a #GValue for the initial and final values
-of the interval:
-|[
-interval = clutter_interval_new (G_TYPE_FLOAT, 0.0, 1.0);
-interval = clutter_interval_new (G_TYPE_BOOLEAN, FALSE, TRUE);
-interval = clutter_interval_new (G_TYPE_INT, 0, 360);
-]|</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #ClutterInterval</doc>
-          <type name="Interval" c:type="ClutterInterval*"/>
-        </return-value>
-        <parameters>
-          <parameter name="gtype" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the type of the values in the interval</doc>
-            <type name="GType" c:type="GType"/>
-          </parameter>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </constructor>
-      <constructor name="new_with_values"
-                   c:identifier="clutter_interval_new_with_values"
-                   version="1.0">
-        <doc xml:whitespace="preserve">Creates a new #ClutterInterval of type @gtype, between @initial
-and @final.
-This function is useful for language bindings.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #ClutterInterval</doc>
-          <type name="Interval" c:type="ClutterInterval*"/>
-        </return-value>
-        <parameters>
-          <parameter name="gtype" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the type of the values in the interval</doc>
-            <type name="GType" c:type="GType"/>
-          </parameter>
-          <parameter name="initial" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GValue holding the initial value of the interval</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-          <parameter name="final" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GValue holding the final value of the interval</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <function name="register_progress_func"
-                c:identifier="clutter_interval_register_progress_func"
-                version="1.0"
-                introspectable="0">
-        <doc xml:whitespace="preserve">Sets the progress function for a given @value_type, like:
-|[
-clutter_interval_register_progress_func (MY_TYPE_FOO,
-my_foo_progress);
-]|
-Whenever a #ClutterInterval instance using the default
-#ClutterInterval::compute_value implementation is set as an
-interval between two #GValue of type @value_type, it will call
-for instance:
-|[
-static gboolean
-my_int_progress (const GValue *a,
-const GValue *b,
-gdouble       progress,
-GValue       *retval)
-{
-gint ia = g_value_get_int (a);
-gint ib = g_value_get_int (b);
-gint res = factor * (ib - ia) + ia;
-g_value_set_int (retval, res);
-return TRUE;
-}
-clutter_interval_register_progress_func (G_TYPE_INT, my_int_progress);
-]|
-To unset a previously set progress function of a #GType, pass %NULL
-for @func.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="value_type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GType</doc>
-            <type name="GType" c:type="GType"/>
-          </parameter>
-          <parameter name="func" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterProgressFunc, or %NULL to unset a previously set progress function</doc>
-            <type name="ProgressFunc" c:type="ClutterProgressFunc"/>
-          </parameter>
-        </parameters>
-      </function>
-      <virtual-method name="compute_value"
-                      invoker="compute_value"
-                      version="1.0">
-        <doc xml:whitespace="preserve">Computes the value between the @interval boundaries given the
-progress @factor and copies it into @value.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the operation was successful</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="factor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the progress factor, between 0 and 1</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="value"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for an initialized #GValue</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="validate" invoker="validate" version="1.0">
-        <doc xml:whitespace="preserve">Validates the initial and final values of @interval against
-a #GParamSpec.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the #ClutterInterval is valid, %FALSE otherwise</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="pspec" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GParamSpec</doc>
-            <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <method name="clone" c:identifier="clutter_interval_clone" version="1.0">
-        <doc xml:whitespace="preserve">Creates a copy of @interval.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created #ClutterInterval</doc>
-          <type name="Interval" c:type="ClutterInterval*"/>
-        </return-value>
-      </method>
-      <method name="compute"
-              c:identifier="clutter_interval_compute"
-              version="1.4">
-        <doc xml:whitespace="preserve">Computes the value between the @interval boundaries given the
-progress @factor
-Unlike clutter_interval_compute_value(), this function will
-return a const pointer to the computed value
-You should use this function if you immediately pass the computed
-value to another function that makes a copy of it, like
-g_object_set_property()
-or %NULL if the computation was not successfull</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to the computed value,</doc>
-          <type name="GObject.Value" c:type="GValue*"/>
-        </return-value>
-        <parameters>
-          <parameter name="factor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the progress factor, between 0 and 1</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="compute_value"
-              c:identifier="clutter_interval_compute_value"
-              version="1.0">
-        <doc xml:whitespace="preserve">Computes the value between the @interval boundaries given the
-progress @factor and copies it into @value.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the operation was successful</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="factor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the progress factor, between 0 and 1</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="value"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for an initialized #GValue</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_final_value"
-              c:identifier="clutter_interval_get_final_value"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the final value of @interval and copies
-it into @value.
-The passed #GValue must be initialized to the value held by
-the #ClutterInterval.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="value"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GValue</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_initial_value"
-              c:identifier="clutter_interval_get_initial_value"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the initial value of @interval and copies
-it into @value.
-The passed #GValue must be initialized to the value held by
-the #ClutterInterval.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="value"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GValue</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_interval"
-              c:identifier="clutter_interval_get_interval"
-              version="1.0"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Variable arguments wrapper for clutter_interval_get_initial_value()
-and clutter_interval_get_final_value() that avoids using the
-#GValue arguments:
-|[
-gint a = 0, b = 0;
-clutter_interval_get_interval (interval, &amp;a, &amp;b);
-]|
-This function is meant for the convenience of the C API; bindings
-should reimplement this function using the #GValue-based API.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_value_type"
-              c:identifier="clutter_interval_get_value_type"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the #GType of the values inside @interval.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the type of the value, or G_TYPE_INVALID</doc>
-          <type name="GType" c:type="GType"/>
-        </return-value>
-      </method>
-      <method name="peek_final_value"
-              c:identifier="clutter_interval_peek_final_value"
-              version="1.0">
-        <doc xml:whitespace="preserve">Gets the pointer to the final value of @interval
-The value is owned by the #ClutterInterval and it should not be
-modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the final value of the interval.</doc>
-          <type name="GObject.Value" c:type="GValue*"/>
-        </return-value>
-      </method>
-      <method name="peek_initial_value"
-              c:identifier="clutter_interval_peek_initial_value"
-              version="1.0">
-        <doc xml:whitespace="preserve">Gets the pointer to the initial value of @interval
-The value is owned by the #ClutterInterval and it should not be
-modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the initial value of the interval.</doc>
-          <type name="GObject.Value" c:type="GValue*"/>
-        </return-value>
-      </method>
-      <method name="set_final_value"
-              c:identifier="clutter_interval_set_final_value"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the final value of @interval to @value. The value is
-copied inside the #ClutterInterval.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GValue</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_initial_value"
-              c:identifier="clutter_interval_set_initial_value"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the initial value of @interval to @value. The value is copied
-inside the #ClutterInterval.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GValue</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_interval"
-              c:identifier="clutter_interval_set_interval"
-              version="1.0"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Variable arguments wrapper for clutter_interval_set_initial_value()
-and clutter_interval_set_final_value() that avoids using the
-#GValue arguments:
-|[
-clutter_interval_set_interval (interval, 0, 50);
-clutter_interval_set_interval (interval, 1.0, 0.0);
-clutter_interval_set_interval (interval, FALSE, TRUE);
-]|
-This function is meant for the convenience of the C API; bindings
-should reimplement this function using the #GValue-based API.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="validate"
-              c:identifier="clutter_interval_validate"
-              version="1.0">
-        <doc xml:whitespace="preserve">Validates the initial and final values of @interval against
-a #GParamSpec.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the #ClutterInterval is valid, %FALSE otherwise</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="pspec" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GParamSpec</doc>
-            <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="value-type"
-                version="1.0"
-                writable="1"
-                construct-only="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The type of the values in the interval.</doc>
-        <type name="GType"/>
-      </property>
-      <field name="parent_instance">
-        <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
-      </field>
-      <field name="priv">
-        <type name="IntervalPrivate" c:type="ClutterIntervalPrivate*"/>
-      </field>
-    </class>
-    <record name="IntervalClass"
-            c:type="ClutterIntervalClass"
-            glib:is-gtype-struct-for="Interval"
-            version="1.0">
-      <doc xml:whitespace="preserve">The #ClutterIntervalClass contains only private data.</doc>
-      <field name="parent_class">
-        <type name="GObject.InitiallyUnownedClass"
-              c:type="GInitiallyUnownedClass"/>
-      </field>
-      <field name="validate">
-        <callback name="validate">
-          <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE if the #ClutterInterval is valid, %FALSE otherwise</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="interval" transfer-ownership="none">
-              <type name="Interval" c:type="ClutterInterval*"/>
-            </parameter>
-            <parameter name="pspec" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a #GParamSpec</doc>
-              <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="compute_value">
-        <callback name="compute_value">
-          <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE if the operation was successful</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="interval" transfer-ownership="none">
-              <type name="Interval" c:type="ClutterInterval*"/>
-            </parameter>
-            <parameter name="factor" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the progress factor, between 0 and 1</doc>
-              <type name="gdouble" c:type="gdouble"/>
-            </parameter>
-            <parameter name="value"
-                       direction="out"
-                       caller-allocates="1"
-                       transfer-ownership="none">
-              <doc xml:whitespace="preserve">return location for an initialized #GValue</doc>
-              <type name="GObject.Value" c:type="GValue*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_clutter_reserved1" introspectable="0">
-        <callback name="_clutter_reserved1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved2" introspectable="0">
-        <callback name="_clutter_reserved2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved3" introspectable="0">
-        <callback name="_clutter_reserved3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved4" introspectable="0">
-        <callback name="_clutter_reserved4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved5" introspectable="0">
-        <callback name="_clutter_reserved5">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved6" introspectable="0">
-        <callback name="_clutter_reserved6">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <record name="IntervalPrivate"
-            c:type="ClutterIntervalPrivate"
-            disguised="1">
-    </record>
-    <constant name="Iogonek" value="967">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Itilde" value="933">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="J" value="74">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Jcircumflex" value="684">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="K" value="75">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_0" value="48">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_1" value="49">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_2" value="50">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3" value="51">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_AltCursor" value="64784">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_Attn" value="64782">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_BackTab" value="64773">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_ChangeScreen" value="64793">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_Copy" value="64789">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_CursorBlink" value="64783">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_CursorSelect" value="64796">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_DeleteWord" value="64794">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_Duplicate" value="64769">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_Enter" value="64798">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_EraseEOF" value="64774">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_EraseInput" value="64775">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_ExSelect" value="64795">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_FieldMark" value="64770">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_Ident" value="64787">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_Jump" value="64786">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_KeyClick" value="64785">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_Left2" value="64772">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_PA1" value="64778">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_PA2" value="64779">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_PA3" value="64780">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_Play" value="64790">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_PrintScreen" value="64797">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_Quit" value="64777">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_Record" value="64792">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_Reset" value="64776">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_Right2" value="64771">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_Rule" value="64788">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_Setup" value="64791">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_3270_Test" value="64781">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_4" value="52">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_5" value="53">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_6" value="54">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_7" value="55">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_8" value="56">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_9" value="57">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_A" value="65">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_AE" value="198">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Aacute" value="193">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Abelowdot" value="16785056">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Abreve" value="451">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Abreveacute" value="16785070">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Abrevebelowdot" value="16785078">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Abrevegrave" value="16785072">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Abrevehook" value="16785074">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Abrevetilde" value="16785076">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_AccessX_Enable" value="65136">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_AccessX_Feedback_Enable" value="65137">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Acircumflex" value="194">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Acircumflexacute" value="16785060">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Acircumflexbelowdot" value="16785068">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Acircumflexgrave" value="16785062">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Acircumflexhook" value="16785064">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Acircumflextilde" value="16785066">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_AddFavorite" value="269025081">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Adiaeresis" value="196">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Agrave" value="192">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ahook" value="16785058">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Alt_L" value="65513">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Alt_R" value="65514">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Amacron" value="960">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Aogonek" value="417">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ApplicationLeft" value="269025104">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ApplicationRight" value="269025105">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_0" value="16778848">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_1" value="16778849">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_2" value="16778850">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_3" value="16778851">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_4" value="16778852">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_5" value="16778853">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_6" value="16778854">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_7" value="16778855">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_8" value="16778856">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_9" value="16778857">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_ain" value="1497">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_alef" value="1479">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_alefmaksura" value="1513">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_beh" value="1480">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_comma" value="1452">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_dad" value="1494">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_dal" value="1487">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_damma" value="1519">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_dammatan" value="1516">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_ddal" value="16778888">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_farsi_yeh" value="16778956">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_fatha" value="1518">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_fathatan" value="1515">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_feh" value="1505">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_fullstop" value="16778964">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_gaf" value="16778927">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_ghain" value="1498">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_ha" value="1511">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_hah" value="1485">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_hamza" value="1473">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_hamza_above" value="16778836">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_hamza_below" value="16778837">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_hamzaonalef" value="1475">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_hamzaonwaw" value="1476">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_hamzaonyeh" value="1478">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_hamzaunderalef" value="1477">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_heh" value="1511">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_heh_doachashmee" value="16778942">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_heh_goal" value="16778945">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_jeem" value="1484">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_jeh" value="16778904">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_kaf" value="1507">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_kasra" value="1520">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_kasratan" value="1517">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_keheh" value="16778921">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_khah" value="1486">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_lam" value="1508">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_madda_above" value="16778835">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_maddaonalef" value="1474">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_meem" value="1509">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_noon" value="1510">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_noon_ghunna" value="16778938">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_peh" value="16778878">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_percent" value="16778858">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_qaf" value="1506">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_question_mark" value="1471">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_ra" value="1489">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_rreh" value="16778897">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_sad" value="1493">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_seen" value="1491">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_semicolon" value="1467">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_shadda" value="1521">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_sheen" value="1492">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_sukun" value="1522">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_superscript_alef" value="16778864">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_switch" value="65406">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_tah" value="1495">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_tatweel" value="1504">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_tcheh" value="16778886">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_teh" value="1482">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_tehmarbuta" value="1481">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_thal" value="1488">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_theh" value="1483">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_tteh" value="16778873">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_veh" value="16778916">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_waw" value="1512">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_yeh" value="1514">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_yeh_baree" value="16778962">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_zah" value="1496">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Arabic_zain" value="1490">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Aring" value="197">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_AT" value="16778552">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_AYB" value="16778545">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_BEN" value="16778546">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_CHA" value="16778569">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_DA" value="16778548">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_DZA" value="16778561">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_E" value="16778551">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_FE" value="16778582">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_GHAT" value="16778562">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_GIM" value="16778547">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_HI" value="16778565">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_HO" value="16778560">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_INI" value="16778555">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_JE" value="16778571">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_KE" value="16778580">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_KEN" value="16778559">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_KHE" value="16778557">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_LYUN" value="16778556">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_MEN" value="16778564">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_NU" value="16778566">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_O" value="16778581">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_PE" value="16778570">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_PYUR" value="16778579">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_RA" value="16778572">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_RE" value="16778576">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_SE" value="16778573">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_SHA" value="16778567">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_TCHE" value="16778563">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_TO" value="16778553">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_TSA" value="16778558">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_TSO" value="16778577">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_TYUN" value="16778575">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_VEV" value="16778574">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_VO" value="16778568">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_VYUN" value="16778578">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_YECH" value="16778549">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_ZA" value="16778550">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_ZHE" value="16778554">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_accent" value="16778587">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_amanak" value="16778588">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_apostrophe" value="16778586">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_at" value="16778600">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_ayb" value="16778593">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_ben" value="16778594">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_but" value="16778589">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_cha" value="16778617">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_da" value="16778596">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_dza" value="16778609">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_e" value="16778599">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_exclam" value="16778588">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_fe" value="16778630">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_full_stop" value="16778633">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_ghat" value="16778610">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_gim" value="16778595">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_hi" value="16778613">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_ho" value="16778608">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_hyphen" value="16778634">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_ini" value="16778603">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_je" value="16778619">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_ke" value="16778628">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_ken" value="16778607">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_khe" value="16778605">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_ligature_ew" value="16778631">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_lyun" value="16778604">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_men" value="16778612">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_nu" value="16778614">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_o" value="16778629">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_paruyk" value="16778590">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_pe" value="16778618">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_pyur" value="16778627">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_question" value="16778590">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_ra" value="16778620">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_re" value="16778624">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_se" value="16778621">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_separation_mark" value="16778589">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_sha" value="16778615">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_shesht" value="16778587">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_tche" value="16778611">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_to" value="16778601">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_tsa" value="16778606">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_tso" value="16778625">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_tyun" value="16778623">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_verjaket" value="16778633">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_vev" value="16778622">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_vo" value="16778616">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_vyun" value="16778626">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_yech" value="16778597">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_yentamna" value="16778634">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_za" value="16778598">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Armenian_zhe" value="16778602">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Atilde" value="195">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_AudibleBell_Enable" value="65146">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_AudioCycleTrack" value="269025179">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_AudioForward" value="269025175">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_AudioLowerVolume" value="269025041">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_AudioMedia" value="269025074">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_AudioMute" value="269025042">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_AudioNext" value="269025047">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_AudioPause" value="269025073">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_AudioPlay" value="269025044">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_AudioPrev" value="269025046">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_AudioRaiseVolume" value="269025043">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_AudioRandomPlay" value="269025177">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_AudioRecord" value="269025052">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_AudioRepeat" value="269025176">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_AudioRewind" value="269025086">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_AudioStop" value="269025045">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Away" value="269025165">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_B" value="66">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Babovedot" value="16784898">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Back" value="269025062">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_BackForward" value="269025087">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_BackSpace" value="65288">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Battery" value="269025171">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Begin" value="65368">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Blue" value="269025190">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Bluetooth" value="269025172">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Book" value="269025106">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_BounceKeys_Enable" value="65140">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Break" value="65387">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_BrightnessAdjust" value="269025083">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Byelorussian_SHORTU" value="1726">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Byelorussian_shortu" value="1710">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_C" value="67">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_CD" value="269025107">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cabovedot" value="709">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cacute" value="454">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Calculator" value="269025053">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Calendar" value="269025056">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cancel" value="65385">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Caps_Lock" value="65509">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ccaron" value="456">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ccedilla" value="199">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ccircumflex" value="710">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Clear" value="65291">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ClearGrab" value="269024801">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Close" value="269025110">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Codeinput" value="65335">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ColonSign" value="16785569">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Community" value="269025085">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ContrastAdjust" value="269025058">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Control_L" value="65507">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Control_R" value="65508">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Copy" value="269025111">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_CruzeiroSign" value="16785570">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cut" value="269025112">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_CycleAngle" value="269025180">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_A" value="1761">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_BE" value="1762">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_CHE" value="1790">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_CHE_descender" value="16778422">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_CHE_vertstroke" value="16778424">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_DE" value="1764">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_DZHE" value="1727">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_E" value="1788">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_EF" value="1766">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_EL" value="1772">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_EM" value="1773">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_EN" value="1774">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_EN_descender" value="16778402">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_ER" value="1778">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_ES" value="1779">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_GHE" value="1767">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_GHE_bar" value="16778386">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_HA" value="1768">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_HARDSIGN" value="1791">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_HA_descender" value="16778418">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_I" value="1769">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_IE" value="1765">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_IO" value="1715">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_I_macron" value="16778466">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_JE" value="1720">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_KA" value="1771">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_KA_descender" value="16778394">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_KA_vertstroke" value="16778396">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_LJE" value="1721">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_NJE" value="1722">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_O" value="1775">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_O_bar" value="16778472">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_PE" value="1776">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_SCHWA" value="16778456">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_SHA" value="1787">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_SHCHA" value="1789">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_SHHA" value="16778426">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_SHORTI" value="1770">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_SOFTSIGN" value="1784">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_TE" value="1780">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_TSE" value="1763">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_U" value="1781">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_U_macron" value="16778478">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_U_straight" value="16778414">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_U_straight_bar" value="16778416">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_VE" value="1783">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_YA" value="1777">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_YERU" value="1785">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_YU" value="1760">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_ZE" value="1786">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_ZHE" value="1782">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_ZHE_descender" value="16778390">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_a" value="1729">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_be" value="1730">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_che" value="1758">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_che_descender" value="16778423">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_che_vertstroke" value="16778425">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_de" value="1732">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_dzhe" value="1711">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_e" value="1756">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_ef" value="1734">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_el" value="1740">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_em" value="1741">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_en" value="1742">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_en_descender" value="16778403">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_er" value="1746">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_es" value="1747">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_ghe" value="1735">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_ghe_bar" value="16778387">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_ha" value="1736">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_ha_descender" value="16778419">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_hardsign" value="1759">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_i" value="1737">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_i_macron" value="16778467">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_ie" value="1733">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_io" value="1699">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_je" value="1704">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_ka" value="1739">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_ka_descender" value="16778395">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_ka_vertstroke" value="16778397">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_lje" value="1705">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_nje" value="1706">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_o" value="1743">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_o_bar" value="16778473">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_pe" value="1744">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_schwa" value="16778457">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_sha" value="1755">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_shcha" value="1757">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_shha" value="16778427">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_shorti" value="1738">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_softsign" value="1752">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_te" value="1748">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_tse" value="1731">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_u" value="1749">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_u_macron" value="16778479">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_u_straight" value="16778415">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_u_straight_bar" value="16778417">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_ve" value="1751">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_ya" value="1745">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_yeru" value="1753">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_yu" value="1728">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_ze" value="1754">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_zhe" value="1750">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Cyrillic_zhe_descender" value="16778391">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_D" value="68">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_DOS" value="269025114">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Dabovedot" value="16784906">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Dcaron" value="463">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Delete" value="65535">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Display" value="269025113">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Documents" value="269025115">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_DongSign" value="16785579">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Down" value="65364">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Dstroke" value="464">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_E" value="69">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ENG" value="957">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ETH" value="208">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Eabovedot" value="972">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Eacute" value="201">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ebelowdot" value="16785080">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ecaron" value="460">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ecircumflex" value="202">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ecircumflexacute" value="16785086">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ecircumflexbelowdot" value="16785094">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ecircumflexgrave" value="16785088">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ecircumflexhook" value="16785090">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ecircumflextilde" value="16785092">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_EcuSign" value="16785568">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ediaeresis" value="203">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Egrave" value="200">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ehook" value="16785082">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Eisu_Shift" value="65327">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Eisu_toggle" value="65328">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Eject" value="269025068">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Emacron" value="938">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_End" value="65367">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Eogonek" value="458">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Escape" value="65307">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Eth" value="208">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Etilde" value="16785084">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_EuroSign" value="8364">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Excel" value="269025116">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Execute" value="65378">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Explorer" value="269025117">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F" value="70">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F1" value="65470">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F10" value="65479">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F11" value="65480">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F12" value="65481">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F13" value="65482">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F14" value="65483">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F15" value="65484">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F16" value="65485">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F17" value="65486">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F18" value="65487">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F19" value="65488">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F2" value="65471">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F20" value="65489">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F21" value="65490">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F22" value="65491">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F23" value="65492">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F24" value="65493">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F25" value="65494">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F26" value="65495">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F27" value="65496">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F28" value="65497">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F29" value="65498">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F3" value="65472">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F30" value="65499">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F31" value="65500">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F32" value="65501">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F33" value="65502">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F34" value="65503">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F35" value="65504">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F4" value="65473">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F5" value="65474">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F6" value="65475">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F7" value="65476">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F8" value="65477">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_F9" value="65478">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_FFrancSign" value="16785571">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Fabovedot" value="16784926">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Farsi_0" value="16778992">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Farsi_1" value="16778993">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Farsi_2" value="16778994">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Farsi_3" value="16778995">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Farsi_4" value="16778996">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Farsi_5" value="16778997">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Farsi_6" value="16778998">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Farsi_7" value="16778999">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Farsi_8" value="16779000">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Farsi_9" value="16779001">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Farsi_yeh" value="16778956">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Favorites" value="269025072">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Finance" value="269025084">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Find" value="65384">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_First_Virtual_Screen" value="65232">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Forward" value="269025063">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_FrameBack" value="269025181">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_FrameForward" value="269025182">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_G" value="71">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Gabovedot" value="725">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Game" value="269025118">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Gbreve" value="683">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Gcaron" value="16777702">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Gcedilla" value="939">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Gcircumflex" value="728">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_an" value="16781520">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_ban" value="16781521">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_can" value="16781546">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_char" value="16781549">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_chin" value="16781545">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_cil" value="16781548">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_don" value="16781523">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_en" value="16781524">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_fi" value="16781558">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_gan" value="16781522">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_ghan" value="16781542">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_hae" value="16781552">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_har" value="16781556">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_he" value="16781553">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_hie" value="16781554">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_hoe" value="16781557">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_in" value="16781528">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_jhan" value="16781551">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_jil" value="16781547">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_kan" value="16781529">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_khar" value="16781541">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_las" value="16781530">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_man" value="16781531">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_nar" value="16781532">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_on" value="16781533">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_par" value="16781534">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_phar" value="16781540">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_qar" value="16781543">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_rae" value="16781536">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_san" value="16781537">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_shin" value="16781544">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_tan" value="16781527">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_tar" value="16781538">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_un" value="16781539">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_vin" value="16781525">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_we" value="16781555">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_xan" value="16781550">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_zen" value="16781526">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Georgian_zhar" value="16781535">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Go" value="269025119">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_ALPHA" value="1985">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_ALPHAaccent" value="1953">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_BETA" value="1986">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_CHI" value="2007">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_DELTA" value="1988">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_EPSILON" value="1989">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_EPSILONaccent" value="1954">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_ETA" value="1991">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_ETAaccent" value="1955">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_GAMMA" value="1987">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_IOTA" value="1993">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_IOTAaccent" value="1956">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_IOTAdiaeresis" value="1957">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_IOTAdieresis" value="1957">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_KAPPA" value="1994">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_LAMBDA" value="1995">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_LAMDA" value="1995">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_MU" value="1996">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_NU" value="1997">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_OMEGA" value="2009">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_OMEGAaccent" value="1963">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_OMICRON" value="1999">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_OMICRONaccent" value="1959">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_PHI" value="2006">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_PI" value="2000">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_PSI" value="2008">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_RHO" value="2001">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_SIGMA" value="2002">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_TAU" value="2004">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_THETA" value="1992">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_UPSILON" value="2005">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_UPSILONaccent" value="1960">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_UPSILONdieresis" value="1961">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_XI" value="1998">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_ZETA" value="1990">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_accentdieresis" value="1966">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_alpha" value="2017">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_alphaaccent" value="1969">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_beta" value="2018">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_chi" value="2039">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_delta" value="2020">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_epsilon" value="2021">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_epsilonaccent" value="1970">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_eta" value="2023">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_etaaccent" value="1971">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_finalsmallsigma" value="2035">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_gamma" value="2019">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_horizbar" value="1967">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_iota" value="2025">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_iotaaccent" value="1972">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_iotaaccentdieresis" value="1974">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_iotadieresis" value="1973">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_kappa" value="2026">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_lambda" value="2027">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_lamda" value="2027">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_mu" value="2028">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_nu" value="2029">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_omega" value="2041">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_omegaaccent" value="1979">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_omicron" value="2031">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_omicronaccent" value="1975">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_phi" value="2038">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_pi" value="2032">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_psi" value="2040">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_rho" value="2033">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_sigma" value="2034">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_switch" value="65406">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_tau" value="2036">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_theta" value="2024">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_upsilon" value="2037">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_upsilonaccent" value="1976">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_upsilonaccentdieresis" value="1978">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_upsilondieresis" value="1977">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_xi" value="2030">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Greek_zeta" value="2022">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Green" value="269025188">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_H" value="72">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul" value="65329">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_A" value="3775">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_AE" value="3776">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_AraeA" value="3830">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_AraeAE" value="3831">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_Banja" value="65337">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_Cieuc" value="3770">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_Codeinput" value="65335">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_Dikeud" value="3751">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_E" value="3780">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_EO" value="3779">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_EU" value="3793">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_End" value="65331">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_Hanja" value="65332">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_Hieuh" value="3774">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_I" value="3795">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_Ieung" value="3767">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_Cieuc" value="3818">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_Dikeud" value="3802">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_Hieuh" value="3822">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_Ieung" value="3816">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_Jieuj" value="3817">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_Khieuq" value="3819">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_Kiyeog" value="3796">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_KiyeogSios" value="3798">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_KkogjiDalrinIeung" value="3833">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_Mieum" value="3811">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_Nieun" value="3799">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_NieunHieuh" value="3801">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_NieunJieuj" value="3800">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_PanSios" value="3832">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_Phieuf" value="3821">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_Pieub" value="3812">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_PieubSios" value="3813">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_Rieul" value="3803">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_RieulHieuh" value="3810">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_RieulKiyeog" value="3804">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_RieulMieum" value="3805">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_RieulPhieuf" value="3809">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_RieulPieub" value="3806">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_RieulSios" value="3807">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_RieulTieut" value="3808">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_Sios" value="3814">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_SsangKiyeog" value="3797">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_SsangSios" value="3815">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_Tieut" value="3820">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_J_YeorinHieuh" value="3834">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_Jamo" value="65333">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_Jeonja" value="65336">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_Jieuj" value="3768">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_Khieuq" value="3771">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_Kiyeog" value="3745">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_KiyeogSios" value="3747">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_KkogjiDalrinIeung" value="3827">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_Mieum" value="3761">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_MultipleCandidate" value="65341">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_Nieun" value="3748">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_NieunHieuh" value="3750">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_NieunJieuj" value="3749">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_O" value="3783">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_OE" value="3786">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_PanSios" value="3826">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_Phieuf" value="3773">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_Pieub" value="3762">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_PieubSios" value="3764">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_PostHanja" value="65339">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_PreHanja" value="65338">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_PreviousCandidate" value="65342">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_Rieul" value="3753">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_RieulHieuh" value="3760">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_RieulKiyeog" value="3754">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_RieulMieum" value="3755">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_RieulPhieuf" value="3759">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_RieulPieub" value="3756">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_RieulSios" value="3757">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_RieulTieut" value="3758">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_RieulYeorinHieuh" value="3823">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_Romaja" value="65334">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_SingleCandidate" value="65340">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_Sios" value="3765">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_Special" value="65343">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_SsangDikeud" value="3752">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_SsangJieuj" value="3769">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_SsangKiyeog" value="3746">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_SsangPieub" value="3763">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_SsangSios" value="3766">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_Start" value="65330">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_SunkyeongeumMieum" value="3824">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_SunkyeongeumPhieuf" value="3828">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_SunkyeongeumPieub" value="3825">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_Tieut" value="3772">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_U" value="3788">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_WA" value="3784">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_WAE" value="3785">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_WE" value="3790">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_WEO" value="3789">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_WI" value="3791">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_YA" value="3777">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_YAE" value="3778">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_YE" value="3782">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_YEO" value="3781">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_YI" value="3794">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_YO" value="3787">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_YU" value="3792">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_YeorinHieuh" value="3829">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hangul_switch" value="65406">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hankaku" value="65321">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hcircumflex" value="678">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hebrew_switch" value="65406">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Help" value="65386">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Henkan" value="65315">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Henkan_Mode" value="65315">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hibernate" value="269025192">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hiragana" value="65317">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hiragana_Katakana" value="65319">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_History" value="269025079">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Home" value="65360">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_HomePage" value="269025048">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_HotLinks" value="269025082">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hstroke" value="673">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hyper_L" value="65517">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Hyper_R" value="65518">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_I" value="73">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Center_Object" value="65075">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Continuous_Underline" value="65072">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Discontinuous_Underline" value="65073">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Emphasize" value="65074">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Enter" value="65076">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Fast_Cursor_Down" value="65071">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Fast_Cursor_Left" value="65068">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Fast_Cursor_Right" value="65069">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Fast_Cursor_Up" value="65070">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_First_Group" value="65036">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_First_Group_Lock" value="65037">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Group_Latch" value="65030">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Group_Lock" value="65031">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Group_Shift" value="65406">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Last_Group" value="65038">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Last_Group_Lock" value="65039">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Left_Tab" value="65056">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Level2_Latch" value="65026">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Level3_Latch" value="65028">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Level3_Lock" value="65029">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Level3_Shift" value="65027">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Level5_Latch" value="65042">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Level5_Lock" value="65043">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Level5_Shift" value="65041">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Lock" value="65025">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Move_Line_Down" value="65058">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Move_Line_Up" value="65057">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Next_Group" value="65032">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Next_Group_Lock" value="65033">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Partial_Line_Down" value="65060">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Partial_Line_Up" value="65059">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Partial_Space_Left" value="65061">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Partial_Space_Right" value="65062">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Prev_Group" value="65034">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Prev_Group_Lock" value="65035">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Release_Both_Margins" value="65067">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Release_Margin_Left" value="65065">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Release_Margin_Right" value="65066">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Set_Margin_Left" value="65063">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ISO_Set_Margin_Right" value="65064">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Iabovedot" value="681">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Iacute" value="205">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ibelowdot" value="16785098">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ibreve" value="16777516">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Icircumflex" value="206">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Idiaeresis" value="207">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Igrave" value="204">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ihook" value="16785096">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Imacron" value="975">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Insert" value="65379">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Iogonek" value="967">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Itilde" value="933">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_J" value="74">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Jcircumflex" value="684">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_K" value="75">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_0" value="65456">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_1" value="65457">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_2" value="65458">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_3" value="65459">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_4" value="65460">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_5" value="65461">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_6" value="65462">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_7" value="65463">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_8" value="65464">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_9" value="65465">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_Add" value="65451">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_Begin" value="65437">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_Decimal" value="65454">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_Delete" value="65439">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_Divide" value="65455">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_Down" value="65433">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_End" value="65436">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_Enter" value="65421">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_Equal" value="65469">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_F1" value="65425">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_F2" value="65426">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_F3" value="65427">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_F4" value="65428">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_Home" value="65429">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_Insert" value="65438">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_Left" value="65430">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_Multiply" value="65450">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_Next" value="65435">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_Page_Down" value="65435">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_Page_Up" value="65434">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_Prior" value="65434">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_Right" value="65432">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_Separator" value="65452">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_Space" value="65408">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_Subtract" value="65453">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_Tab" value="65417">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KP_Up" value="65431">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Kana_Lock" value="65325">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Kana_Shift" value="65326">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Kanji" value="65313">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Kanji_Bangou" value="65335">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Katakana" value="65318">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KbdBrightnessDown" value="269025030">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KbdBrightnessUp" value="269025029">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_KbdLightOnOff" value="269025028">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Kcedilla" value="979">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Korean_Won" value="3839">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_L" value="76">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_L1" value="65480">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_L10" value="65489">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_L2" value="65481">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_L3" value="65482">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_L4" value="65483">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_L5" value="65484">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_L6" value="65485">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_L7" value="65486">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_L8" value="65487">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_L9" value="65488">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Lacute" value="453">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Last_Virtual_Screen" value="65236">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Launch0" value="269025088">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Launch1" value="269025089">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Launch2" value="269025090">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Launch3" value="269025091">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Launch4" value="269025092">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Launch5" value="269025093">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Launch6" value="269025094">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Launch7" value="269025095">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Launch8" value="269025096">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Launch9" value="269025097">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_LaunchA" value="269025098">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_LaunchB" value="269025099">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_LaunchC" value="269025100">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_LaunchD" value="269025101">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_LaunchE" value="269025102">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_LaunchF" value="269025103">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Lbelowdot" value="16784950">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Lcaron" value="421">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Lcedilla" value="934">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Left" value="65361">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_LightBulb" value="269025077">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Linefeed" value="65290">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_LiraSign" value="16785572">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_LogOff" value="269025121">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Lstroke" value="419">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_M" value="77">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Mabovedot" value="16784960">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Macedonia_DSE" value="1717">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Macedonia_GJE" value="1714">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Macedonia_KJE" value="1724">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Macedonia_dse" value="1701">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Macedonia_gje" value="1698">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Macedonia_kje" value="1708">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Mae_Koho" value="65342">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Mail" value="269025049">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_MailForward" value="269025168">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Market" value="269025122">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Massyo" value="65324">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Meeting" value="269025123">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Memo" value="269025054">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Menu" value="65383">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_MenuKB" value="269025125">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_MenuPB" value="269025126">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Messenger" value="269025166">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Meta_L" value="65511">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Meta_R" value="65512">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_MillSign" value="16785573">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ModeLock" value="269025025">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Mode_switch" value="65406">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_MonBrightnessDown" value="269025027">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_MonBrightnessUp" value="269025026">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_MouseKeys_Accel_Enable" value="65143">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_MouseKeys_Enable" value="65142">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Muhenkan" value="65314">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Multi_key" value="65312">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_MultipleCandidate" value="65341">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Music" value="269025170">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_MyComputer" value="269025075">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_MySites" value="269025127">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_N" value="78">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Nacute" value="465">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_NairaSign" value="16785574">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ncaron" value="466">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ncedilla" value="977">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_New" value="269025128">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_NewSheqelSign" value="16785578">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_News" value="269025129">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Next" value="65366">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Next_VMode" value="269024802">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Next_Virtual_Screen" value="65234">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ntilde" value="209">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Num_Lock" value="65407">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_O" value="79">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_OE" value="5052">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Oacute" value="211">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Obarred" value="16777631">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Obelowdot" value="16785100">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ocaron" value="16777681">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ocircumflex" value="212">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ocircumflexacute" value="16785104">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ocircumflexbelowdot" value="16785112">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ocircumflexgrave" value="16785106">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ocircumflexhook" value="16785108">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ocircumflextilde" value="16785110">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Odiaeresis" value="214">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Odoubleacute" value="469">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_OfficeHome" value="269025130">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ograve" value="210">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ohook" value="16785102">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ohorn" value="16777632">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ohornacute" value="16785114">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ohornbelowdot" value="16785122">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ohorngrave" value="16785116">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ohornhook" value="16785118">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ohorntilde" value="16785120">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Omacron" value="978">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ooblique" value="216">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Open" value="269025131">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_OpenURL" value="269025080">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Option" value="269025132">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Oslash" value="216">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Otilde" value="213">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Overlay1_Enable" value="65144">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Overlay2_Enable" value="65145">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_P" value="80">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pabovedot" value="16784982">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Page_Down" value="65366">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Page_Up" value="65365">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Paste" value="269025133">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pause" value="65299">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_PesetaSign" value="16785575">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Phone" value="269025134">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pictures" value="269025169">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_Accelerate" value="65274">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_Button1" value="65257">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_Button2" value="65258">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_Button3" value="65259">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_Button4" value="65260">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_Button5" value="65261">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_Button_Dflt" value="65256">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_DblClick1" value="65263">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_DblClick2" value="65264">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_DblClick3" value="65265">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_DblClick4" value="65266">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_DblClick5" value="65267">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_DblClick_Dflt" value="65262">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_DfltBtnNext" value="65275">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_DfltBtnPrev" value="65276">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_Down" value="65251">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_DownLeft" value="65254">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_DownRight" value="65255">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_Drag1" value="65269">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_Drag2" value="65270">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_Drag3" value="65271">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_Drag4" value="65272">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_Drag5" value="65277">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_Drag_Dflt" value="65268">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_EnableKeys" value="65273">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_Left" value="65248">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_Right" value="65249">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_Up" value="65250">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_UpLeft" value="65252">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Pointer_UpRight" value="65253">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_PowerDown" value="269025057">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_PowerOff" value="269025066">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Prev_VMode" value="269024803">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Prev_Virtual_Screen" value="65233">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_PreviousCandidate" value="65342">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Print" value="65377">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Prior" value="65365">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Q" value="81">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_R" value="82">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_R1" value="65490">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_R10" value="65499">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_R11" value="65500">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_R12" value="65501">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_R13" value="65502">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_R14" value="65503">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_R15" value="65504">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_R2" value="65491">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_R3" value="65492">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_R4" value="65493">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_R5" value="65494">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_R6" value="65495">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_R7" value="65496">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_R8" value="65497">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_R9" value="65498">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Racute" value="448">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Rcaron" value="472">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Rcedilla" value="931">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Red" value="269025187">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Redo" value="65382">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Refresh" value="269025065">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Reload" value="269025139">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_RepeatKeys_Enable" value="65138">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Reply" value="269025138">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Return" value="65293">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Right" value="65363">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_RockerDown" value="269025060">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_RockerEnter" value="269025061">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_RockerUp" value="269025059">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Romaji" value="65316">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_RotateWindows" value="269025140">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_RotationKB" value="269025142">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_RotationPB" value="269025141">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_RupeeSign" value="16785576">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_S" value="83">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_SCHWA" value="16777615">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Sabovedot" value="16784992">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Sacute" value="422">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Save" value="269025143">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Scaron" value="425">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Scedilla" value="426">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Scircumflex" value="734">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ScreenSaver" value="269025069">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ScrollClick" value="269025146">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ScrollDown" value="269025145">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ScrollUp" value="269025144">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Scroll_Lock" value="65300">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Search" value="269025051">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Select" value="65376">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_SelectButton" value="269025184">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Send" value="269025147">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Serbian_DJE" value="1713">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Serbian_DZE" value="1727">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Serbian_JE" value="1720">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Serbian_LJE" value="1721">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Serbian_NJE" value="1722">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Serbian_TSHE" value="1723">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Serbian_dje" value="1697">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Serbian_dze" value="1711">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Serbian_je" value="1704">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Serbian_lje" value="1705">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Serbian_nje" value="1706">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Serbian_tshe" value="1707">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Shift_L" value="65505">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Shift_Lock" value="65510">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Shift_R" value="65506">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Shop" value="269025078">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_SingleCandidate" value="65340">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Sleep" value="269025071">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_SlowKeys_Enable" value="65139">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Spell" value="269025148">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_SplitScreen" value="269025149">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Standby" value="269025040">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Start" value="269025050">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_StickyKeys_Enable" value="65141">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Stop" value="269025064">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Subtitle" value="269025178">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Super_L" value="65515">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Super_R" value="65516">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Support" value="269025150">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Suspend" value="269025191">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Switch_VT_1" value="269024769">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Switch_VT_10" value="269024778">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Switch_VT_11" value="269024779">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Switch_VT_12" value="269024780">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Switch_VT_2" value="269024770">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Switch_VT_3" value="269024771">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Switch_VT_4" value="269024772">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Switch_VT_5" value="269024773">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Switch_VT_6" value="269024774">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Switch_VT_7" value="269024775">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Switch_VT_8" value="269024776">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Switch_VT_9" value="269024777">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Sys_Req" value="65301">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_T" value="84">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_THORN" value="222">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Tab" value="65289">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Tabovedot" value="16785002">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_TaskPane" value="269025151">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Tcaron" value="427">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Tcedilla" value="478">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Terminal" value="269025152">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Terminate_Server" value="65237">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_baht" value="3551">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_bobaimai" value="3514">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_chochan" value="3496">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_chochang" value="3498">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_choching" value="3497">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_chochoe" value="3500">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_dochada" value="3502">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_dodek" value="3508">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_fofa" value="3517">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_fofan" value="3519">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_hohip" value="3531">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_honokhuk" value="3534">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_khokhai" value="3490">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_khokhon" value="3493">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_khokhuat" value="3491">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_khokhwai" value="3492">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_khorakhang" value="3494">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_kokai" value="3489">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_lakkhangyao" value="3557">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_lekchet" value="3575">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_lekha" value="3573">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_lekhok" value="3574">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_lekkao" value="3577">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_leknung" value="3569">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_lekpaet" value="3576">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_leksam" value="3571">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_leksi" value="3572">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_leksong" value="3570">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_leksun" value="3568">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_lochula" value="3532">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_loling" value="3525">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_lu" value="3526">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_maichattawa" value="3563">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_maiek" value="3560">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_maihanakat" value="3537">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_maihanakat_maitho" value="3550">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_maitaikhu" value="3559">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_maitho" value="3561">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_maitri" value="3562">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_maiyamok" value="3558">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_moma" value="3521">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_ngongu" value="3495">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_nikhahit" value="3565">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_nonen" value="3507">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_nonu" value="3513">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_oang" value="3533">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_paiyannoi" value="3535">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_phinthu" value="3546">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_phophan" value="3518">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_phophung" value="3516">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_phosamphao" value="3520">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_popla" value="3515">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_rorua" value="3523">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_ru" value="3524">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_saraa" value="3536">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_saraaa" value="3538">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_saraae" value="3553">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_saraaimaimalai" value="3556">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_saraaimaimuan" value="3555">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_saraam" value="3539">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_sarae" value="3552">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_sarai" value="3540">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_saraii" value="3541">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_sarao" value="3554">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_sarau" value="3544">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_saraue" value="3542">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_sarauee" value="3543">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_sarauu" value="3545">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_sorusi" value="3529">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_sosala" value="3528">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_soso" value="3499">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_sosua" value="3530">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_thanthakhat" value="3564">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_thonangmontho" value="3505">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_thophuthao" value="3506">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_thothahan" value="3511">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_thothan" value="3504">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_thothong" value="3512">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_thothung" value="3510">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_topatak" value="3503">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_totao" value="3509">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_wowaen" value="3527">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_yoyak" value="3522">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thai_yoying" value="3501">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Thorn" value="222">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Time" value="269025183">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ToDoList" value="269025055">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Tools" value="269025153">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_TopMenu" value="269025186">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_TouchpadToggle" value="269025193">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Touroku" value="65323">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Travel" value="269025154">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Tslash" value="940">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_U" value="85">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_UWB" value="269025174">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Uacute" value="218">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ubelowdot" value="16785124">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ubreve" value="733">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ucircumflex" value="219">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Udiaeresis" value="220">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Udoubleacute" value="475">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ugrave" value="217">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Uhook" value="16785126">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Uhorn" value="16777647">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Uhornacute" value="16785128">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Uhornbelowdot" value="16785136">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Uhorngrave" value="16785130">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Uhornhook" value="16785132">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Uhorntilde" value="16785134">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ukrainian_GHE_WITH_UPTURN" value="1725">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ukrainian_I" value="1718">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ukrainian_IE" value="1716">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ukrainian_YI" value="1719">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ukrainian_ghe_with_upturn" value="1709">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ukrainian_i" value="1702">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ukrainian_ie" value="1700">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ukrainian_yi" value="1703">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ukranian_I" value="1718">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ukranian_JE" value="1716">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ukranian_YI" value="1719">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ukranian_i" value="1702">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ukranian_je" value="1700">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ukranian_yi" value="1703">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Umacron" value="990">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Undo" value="65381">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ungrab" value="269024800">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Uogonek" value="985">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Up" value="65362">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Uring" value="473">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_User1KB" value="269025157">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_User2KB" value="269025158">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_UserPB" value="269025156">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Utilde" value="989">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_V" value="86">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_VendorHome" value="269025076">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Video" value="269025159">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_View" value="269025185">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_VoidSymbol" value="16777215">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_W" value="87">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_WLAN" value="269025173">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_WWW" value="269025070">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Wacute" value="16785026">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_WakeUp" value="269025067">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Wcircumflex" value="16777588">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Wdiaeresis" value="16785028">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_WebCam" value="269025167">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Wgrave" value="16785024">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_WheelButton" value="269025160">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_WindowClear" value="269025109">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_WonSign" value="16785577">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Word" value="269025161">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_X" value="88">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Xabovedot" value="16785034">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Xfer" value="269025162">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Y" value="89">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Yacute" value="221">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ybelowdot" value="16785140">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ycircumflex" value="16777590">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ydiaeresis" value="5054">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Yellow" value="269025189">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ygrave" value="16785138">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Yhook" value="16785142">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Ytilde" value="16785144">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Z" value="90">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Zabovedot" value="431">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Zacute" value="428">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Zcaron" value="430">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Zen_Koho" value="65341">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Zenkaku" value="65320">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Zenkaku_Hankaku" value="65322">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ZoomIn" value="269025163">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ZoomOut" value="269025164">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_Zstroke" value="16777653">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_a" value="97">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_aacute" value="225">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_abelowdot" value="16785057">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_abovedot" value="511">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_abreve" value="483">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_abreveacute" value="16785071">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_abrevebelowdot" value="16785079">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_abrevegrave" value="16785073">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_abrevehook" value="16785075">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_abrevetilde" value="16785077">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_acircumflex" value="226">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_acircumflexacute" value="16785061">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_acircumflexbelowdot" value="16785069">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_acircumflexgrave" value="16785063">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_acircumflexhook" value="16785065">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_acircumflextilde" value="16785067">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_acute" value="180">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_adiaeresis" value="228">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ae" value="230">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_agrave" value="224">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ahook" value="16785059">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_amacron" value="992">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ampersand" value="38">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_aogonek" value="433">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_apostrophe" value="39">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_approxeq" value="16785992">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_approximate" value="2248">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_aring" value="229">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_asciicircum" value="94">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_asciitilde" value="126">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_asterisk" value="42">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_at" value="64">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_atilde" value="227">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_b" value="98">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_babovedot" value="16784899">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_backslash" value="92">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ballotcross" value="2804">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_bar" value="124">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_because" value="16785973">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_blank" value="2527">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_botintegral" value="2213">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_botleftparens" value="2220">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_botleftsqbracket" value="2216">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_botleftsummation" value="2226">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_botrightparens" value="2222">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_botrightsqbracket" value="2218">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_botrightsummation" value="2230">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_bott" value="2550">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_botvertsummationconnector" value="2228">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braceleft" value="123">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braceright" value="125">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_bracketleft" value="91">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_bracketright" value="93">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_blank" value="16787456">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dot_1" value="65521">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dot_10" value="65530">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dot_2" value="65522">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dot_3" value="65523">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dot_4" value="65524">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dot_5" value="65525">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dot_6" value="65526">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dot_7" value="65527">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dot_8" value="65528">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dot_9" value="65529">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1" value="16787457">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_12" value="16787459">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_123" value="16787463">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1234" value="16787471">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_12345" value="16787487">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_123456" value="16787519">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1234567" value="16787583">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_12345678" value="16787711">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1234568" value="16787647">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_123457" value="16787551">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1234578" value="16787679">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_123458" value="16787615">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_12346" value="16787503">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_123467" value="16787567">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1234678" value="16787695">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_123468" value="16787631">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_12347" value="16787535">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_123478" value="16787663">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_12348" value="16787599">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1235" value="16787479">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_12356" value="16787511">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_123567" value="16787575">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1235678" value="16787703">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_123568" value="16787639">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_12357" value="16787543">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_123578" value="16787671">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_12358" value="16787607">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1236" value="16787495">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_12367" value="16787559">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_123678" value="16787687">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_12368" value="16787623">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1237" value="16787527">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_12378" value="16787655">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1238" value="16787591">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_124" value="16787467">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1245" value="16787483">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_12456" value="16787515">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_124567" value="16787579">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1245678" value="16787707">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_124568" value="16787643">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_12457" value="16787547">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_124578" value="16787675">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_12458" value="16787611">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1246" value="16787499">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_12467" value="16787563">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_124678" value="16787691">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_12468" value="16787627">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1247" value="16787531">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_12478" value="16787659">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1248" value="16787595">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_125" value="16787475">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1256" value="16787507">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_12567" value="16787571">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_125678" value="16787699">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_12568" value="16787635">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1257" value="16787539">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_12578" value="16787667">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1258" value="16787603">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_126" value="16787491">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1267" value="16787555">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_12678" value="16787683">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1268" value="16787619">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_127" value="16787523">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1278" value="16787651">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_128" value="16787587">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_13" value="16787461">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_134" value="16787469">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1345" value="16787485">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_13456" value="16787517">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_134567" value="16787581">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1345678" value="16787709">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_134568" value="16787645">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_13457" value="16787549">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_134578" value="16787677">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_13458" value="16787613">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1346" value="16787501">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_13467" value="16787565">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_134678" value="16787693">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_13468" value="16787629">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1347" value="16787533">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_13478" value="16787661">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1348" value="16787597">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_135" value="16787477">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1356" value="16787509">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_13567" value="16787573">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_135678" value="16787701">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_13568" value="16787637">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1357" value="16787541">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_13578" value="16787669">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1358" value="16787605">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_136" value="16787493">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1367" value="16787557">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_13678" value="16787685">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1368" value="16787621">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_137" value="16787525">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1378" value="16787653">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_138" value="16787589">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_14" value="16787465">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_145" value="16787481">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1456" value="16787513">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_14567" value="16787577">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_145678" value="16787705">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_14568" value="16787641">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1457" value="16787545">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_14578" value="16787673">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1458" value="16787609">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_146" value="16787497">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1467" value="16787561">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_14678" value="16787689">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1468" value="16787625">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_147" value="16787529">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1478" value="16787657">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_148" value="16787593">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_15" value="16787473">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_156" value="16787505">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1567" value="16787569">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_15678" value="16787697">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1568" value="16787633">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_157" value="16787537">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1578" value="16787665">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_158" value="16787601">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_16" value="16787489">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_167" value="16787553">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_1678" value="16787681">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_168" value="16787617">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_17" value="16787521">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_178" value="16787649">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_18" value="16787585">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_2" value="16787458">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_23" value="16787462">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_234" value="16787470">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_2345" value="16787486">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_23456" value="16787518">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_234567" value="16787582">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_2345678" value="16787710">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_234568" value="16787646">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_23457" value="16787550">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_234578" value="16787678">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_23458" value="16787614">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_2346" value="16787502">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_23467" value="16787566">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_234678" value="16787694">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_23468" value="16787630">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_2347" value="16787534">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_23478" value="16787662">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_2348" value="16787598">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_235" value="16787478">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_2356" value="16787510">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_23567" value="16787574">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_235678" value="16787702">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_23568" value="16787638">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_2357" value="16787542">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_23578" value="16787670">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_2358" value="16787606">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_236" value="16787494">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_2367" value="16787558">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_23678" value="16787686">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_2368" value="16787622">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_237" value="16787526">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_2378" value="16787654">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_238" value="16787590">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_24" value="16787466">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_245" value="16787482">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_2456" value="16787514">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_24567" value="16787578">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_245678" value="16787706">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_24568" value="16787642">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_2457" value="16787546">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_24578" value="16787674">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_2458" value="16787610">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_246" value="16787498">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_2467" value="16787562">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_24678" value="16787690">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_2468" value="16787626">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_247" value="16787530">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_2478" value="16787658">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_248" value="16787594">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_25" value="16787474">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_256" value="16787506">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_2567" value="16787570">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_25678" value="16787698">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_2568" value="16787634">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_257" value="16787538">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_2578" value="16787666">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_258" value="16787602">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_26" value="16787490">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_267" value="16787554">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_2678" value="16787682">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_268" value="16787618">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_27" value="16787522">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_278" value="16787650">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_28" value="16787586">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_3" value="16787460">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_34" value="16787468">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_345" value="16787484">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_3456" value="16787516">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_34567" value="16787580">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_345678" value="16787708">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_34568" value="16787644">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_3457" value="16787548">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_34578" value="16787676">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_3458" value="16787612">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_346" value="16787500">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_3467" value="16787564">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_34678" value="16787692">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_3468" value="16787628">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_347" value="16787532">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_3478" value="16787660">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_348" value="16787596">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_35" value="16787476">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_356" value="16787508">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_3567" value="16787572">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_35678" value="16787700">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_3568" value="16787636">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_357" value="16787540">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_3578" value="16787668">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_358" value="16787604">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_36" value="16787492">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_367" value="16787556">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_3678" value="16787684">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_368" value="16787620">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_37" value="16787524">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_378" value="16787652">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_38" value="16787588">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_4" value="16787464">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_45" value="16787480">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_456" value="16787512">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_4567" value="16787576">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_45678" value="16787704">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_4568" value="16787640">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_457" value="16787544">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_4578" value="16787672">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_458" value="16787608">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_46" value="16787496">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_467" value="16787560">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_4678" value="16787688">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_468" value="16787624">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_47" value="16787528">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_478" value="16787656">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_48" value="16787592">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_5" value="16787472">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_56" value="16787504">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_567" value="16787568">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_5678" value="16787696">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_568" value="16787632">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_57" value="16787536">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_578" value="16787664">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_58" value="16787600">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_6" value="16787488">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_67" value="16787552">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_678" value="16787680">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_68" value="16787616">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_7" value="16787520">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_78" value="16787648">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_braille_dots_8" value="16787584">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_breve" value="418">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_brokenbar" value="166">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_c" value="99">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_cabovedot" value="741">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_cacute" value="486">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_careof" value="2744">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_caret" value="2812">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_caron" value="439">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ccaron" value="488">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ccedilla" value="231">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ccircumflex" value="742">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_cedilla" value="184">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_cent" value="162">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_checkerboard" value="2529">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_checkmark" value="2803">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_circle" value="3023">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_club" value="2796">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_colon" value="58">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_comma" value="44">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_containsas" value="16785931">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_copyright" value="169">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_cr" value="2532">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_crossinglines" value="2542">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_cuberoot" value="16785947">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_currency" value="164">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_cursor" value="2815">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_d" value="100">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dabovedot" value="16784907">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dagger" value="2801">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dcaron" value="495">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_A" value="65153">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_E" value="65155">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_I" value="65157">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_O" value="65159">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_U" value="65161">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_a" value="65152">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_abovecomma" value="65124">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_abovedot" value="65110">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_abovereversedcomma" value="65125">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_abovering" value="65112">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_acute" value="65105">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_belowbreve" value="65131">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_belowcircumflex" value="65129">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_belowcomma" value="65134">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_belowdiaeresis" value="65132">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_belowdot" value="65120">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_belowmacron" value="65128">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_belowring" value="65127">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_belowtilde" value="65130">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_breve" value="65109">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_capital_schwa" value="65163">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_caron" value="65114">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_cedilla" value="65115">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_circumflex" value="65106">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_currency" value="65135">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_dasia" value="65125">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_diaeresis" value="65111">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_doubleacute" value="65113">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_doublegrave" value="65126">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_e" value="65154">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_grave" value="65104">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_hook" value="65121">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_horn" value="65122">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_i" value="65156">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_invertedbreve" value="65133">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_iota" value="65117">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_macron" value="65108">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_o" value="65158">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_ogonek" value="65116">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_perispomeni" value="65107">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_psili" value="65124">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_semivoiced_sound" value="65119">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_small_schwa" value="65162">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_stroke" value="65123">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_tilde" value="65107">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_u" value="65160">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dead_voiced_sound" value="65118">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_decimalpoint" value="2749">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_degree" value="176">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_diaeresis" value="168">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_diamond" value="2797">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_digitspace" value="2725">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dintegral" value="16785964">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_division" value="247">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dollar" value="36">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_doubbaselinedot" value="2735">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_doubleacute" value="445">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_doubledagger" value="2802">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_doublelowquotemark" value="2814">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_downarrow" value="2302">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_downcaret" value="2984">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_downshoe" value="3030">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_downstile" value="3012">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_downtack" value="3010">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_dstroke" value="496">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_e" value="101">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_eabovedot" value="1004">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_eacute" value="233">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ebelowdot" value="16785081">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ecaron" value="492">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ecircumflex" value="234">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ecircumflexacute" value="16785087">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ecircumflexbelowdot" value="16785095">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ecircumflexgrave" value="16785089">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ecircumflexhook" value="16785091">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ecircumflextilde" value="16785093">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ediaeresis" value="235">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_egrave" value="232">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ehook" value="16785083">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_eightsubscript" value="16785544">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_eightsuperior" value="16785528">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_elementof" value="16785928">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ellipsis" value="2734">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_em3space" value="2723">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_em4space" value="2724">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_emacron" value="954">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_emdash" value="2729">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_emfilledcircle" value="2782">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_emfilledrect" value="2783">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_emopencircle" value="2766">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_emopenrectangle" value="2767">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_emptyset" value="16785925">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_emspace" value="2721">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_endash" value="2730">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_enfilledcircbullet" value="2790">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_enfilledsqbullet" value="2791">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_eng" value="959">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_enopencircbullet" value="2784">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_enopensquarebullet" value="2785">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_enspace" value="2722">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_eogonek" value="490">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_equal" value="61">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_eth" value="240">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_etilde" value="16785085">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_exclam" value="33">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_exclamdown" value="161">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_f" value="102">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_fabovedot" value="16784927">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_femalesymbol" value="2808">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ff" value="2531">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_figdash" value="2747">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_filledlefttribullet" value="2780">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_filledrectbullet" value="2779">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_filledrighttribullet" value="2781">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_filledtribulletdown" value="2793">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_filledtribulletup" value="2792">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_fiveeighths" value="2757">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_fivesixths" value="2743">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_fivesubscript" value="16785541">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_fivesuperior" value="16785525">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_fourfifths" value="2741">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_foursubscript" value="16785540">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_foursuperior" value="16785524">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_fourthroot" value="16785948">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_function" value="2294">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_g" value="103">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_gabovedot" value="757">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_gbreve" value="699">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_gcaron" value="16777703">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_gcedilla" value="955">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_gcircumflex" value="760">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_grave" value="96">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_greater" value="62">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_greaterthanequal" value="2238">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_guillemotleft" value="171">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_guillemotright" value="187">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_h" value="104">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hairspace" value="2728">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hcircumflex" value="694">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_heart" value="2798">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_aleph" value="3296">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_ayin" value="3314">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_bet" value="3297">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_beth" value="3297">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_chet" value="3303">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_dalet" value="3299">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_daleth" value="3299">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_doublelowline" value="3295">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_finalkaph" value="3306">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_finalmem" value="3309">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_finalnun" value="3311">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_finalpe" value="3315">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_finalzade" value="3317">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_finalzadi" value="3317">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_gimel" value="3298">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_gimmel" value="3298">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_he" value="3300">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_het" value="3303">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_kaph" value="3307">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_kuf" value="3319">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_lamed" value="3308">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_mem" value="3310">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_nun" value="3312">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_pe" value="3316">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_qoph" value="3319">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_resh" value="3320">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_samech" value="3313">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_samekh" value="3313">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_shin" value="3321">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_taf" value="3322">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_taw" value="3322">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_tet" value="3304">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_teth" value="3304">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_waw" value="3301">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_yod" value="3305">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_zade" value="3318">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_zadi" value="3318">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_zain" value="3302">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hebrew_zayin" value="3302">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hexagram" value="2778">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_horizconnector" value="2211">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_horizlinescan1" value="2543">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_horizlinescan3" value="2544">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_horizlinescan5" value="2545">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_horizlinescan7" value="2546">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_horizlinescan9" value="2547">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hstroke" value="689">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ht" value="2530">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_hyphen" value="173">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_i" value="105">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_iTouch" value="269025120">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_iacute" value="237">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ibelowdot" value="16785099">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ibreve" value="16777517">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_icircumflex" value="238">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_identical" value="2255">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_idiaeresis" value="239">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_idotless" value="697">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ifonlyif" value="2253">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_igrave" value="236">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ihook" value="16785097">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_imacron" value="1007">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_implies" value="2254">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_includedin" value="2266">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_includes" value="2267">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_infinity" value="2242">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_integral" value="2239">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_intersection" value="2268">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_iogonek" value="999">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_itilde" value="949">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_j" value="106">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_jcircumflex" value="700">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_jot" value="3018">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_k" value="107">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_A" value="1201">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_CHI" value="1217">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_E" value="1204">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_FU" value="1228">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_HA" value="1226">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_HE" value="1229">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_HI" value="1227">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_HO" value="1230">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_HU" value="1228">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_I" value="1202">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_KA" value="1206">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_KE" value="1209">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_KI" value="1207">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_KO" value="1210">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_KU" value="1208">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_MA" value="1231">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_ME" value="1234">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_MI" value="1232">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_MO" value="1235">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_MU" value="1233">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_N" value="1245">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_NA" value="1221">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_NE" value="1224">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_NI" value="1222">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_NO" value="1225">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_NU" value="1223">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_O" value="1205">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_RA" value="1239">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_RE" value="1242">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_RI" value="1240">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_RO" value="1243">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_RU" value="1241">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_SA" value="1211">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_SE" value="1214">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_SHI" value="1212">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_SO" value="1215">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_SU" value="1213">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_TA" value="1216">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_TE" value="1219">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_TI" value="1217">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_TO" value="1220">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_TSU" value="1218">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_TU" value="1218">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_U" value="1203">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_WA" value="1244">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_WO" value="1190">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_YA" value="1236">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_YO" value="1238">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_YU" value="1237">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_a" value="1191">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_closingbracket" value="1187">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_comma" value="1188">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_conjunctive" value="1189">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_e" value="1194">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_fullstop" value="1185">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_i" value="1192">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_middledot" value="1189">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_o" value="1195">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_openingbracket" value="1186">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_switch" value="65406">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_tsu" value="1199">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_tu" value="1199">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_u" value="1193">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_ya" value="1196">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_yo" value="1198">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kana_yu" value="1197">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kappa" value="930">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kcedilla" value="1011">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_kra" value="930">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_l" value="108">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_lacute" value="485">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_latincross" value="2777">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_lbelowdot" value="16784951">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_lcaron" value="437">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_lcedilla" value="950">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_leftanglebracket" value="2748">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_leftarrow" value="2299">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_leftcaret" value="2979">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_leftdoublequotemark" value="2770">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_leftmiddlecurlybrace" value="2223">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_leftopentriangle" value="2764">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_leftpointer" value="2794">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_leftradical" value="2209">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_leftshoe" value="3034">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_leftsinglequotemark" value="2768">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_leftt" value="2548">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_lefttack" value="3036">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_less" value="60">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_lessthanequal" value="2236">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_lf" value="2533">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_logicaland" value="2270">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_logicalor" value="2271">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_lowleftcorner" value="2541">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_lowrightcorner" value="2538">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_lstroke" value="435">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_m" value="109">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_mabovedot" value="16784961">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_macron" value="175">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_malesymbol" value="2807">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_maltesecross" value="2800">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_marker" value="2751">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_masculine" value="186">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_minus" value="45">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_minutes" value="2774">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_mu" value="181">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_multiply" value="215">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_musicalflat" value="2806">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_musicalsharp" value="2805">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_n" value="110">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_nabla" value="2245">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_nacute" value="497">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ncaron" value="498">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ncedilla" value="1009">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ninesubscript" value="16785545">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ninesuperior" value="16785529">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_nl" value="2536">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_nobreakspace" value="160">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_notapproxeq" value="16785991">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_notelementof" value="16785929">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_notequal" value="2237">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_notidentical" value="16786018">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_notsign" value="172">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ntilde" value="241">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_numbersign" value="35">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_numerosign" value="1712">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_o" value="111">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_oacute" value="243">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_obarred" value="16777845">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_obelowdot" value="16785101">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ocaron" value="16777682">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ocircumflex" value="244">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ocircumflexacute" value="16785105">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ocircumflexbelowdot" value="16785113">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ocircumflexgrave" value="16785107">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ocircumflexhook" value="16785109">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ocircumflextilde" value="16785111">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_odiaeresis" value="246">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_odoubleacute" value="501">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_oe" value="5053">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ogonek" value="434">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ograve" value="242">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ohook" value="16785103">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ohorn" value="16777633">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ohornacute" value="16785115">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ohornbelowdot" value="16785123">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ohorngrave" value="16785117">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ohornhook" value="16785119">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ohorntilde" value="16785121">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_omacron" value="1010">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_oneeighth" value="2755">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_onefifth" value="2738">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_onehalf" value="189">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_onequarter" value="188">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_onesixth" value="2742">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_onesubscript" value="16785537">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_onesuperior" value="185">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_onethird" value="2736">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ooblique" value="248">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_openrectbullet" value="2786">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_openstar" value="2789">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_opentribulletdown" value="2788">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_opentribulletup" value="2787">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ordfeminine" value="170">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_oslash" value="248">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_otilde" value="245">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_overbar" value="3008">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_overline" value="1150">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_p" value="112">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_pabovedot" value="16784983">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_paragraph" value="182">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_parenleft" value="40">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_parenright" value="41">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_partdifferential" value="16785922">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_partialderivative" value="2287">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_percent" value="37">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_period" value="46">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_periodcentered" value="183">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_phonographcopyright" value="2811">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_plus" value="43">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_plusminus" value="177">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_prescription" value="2772">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_prolongedsound" value="1200">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_punctspace" value="2726">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_q" value="113">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_quad" value="3020">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_question" value="63">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_questiondown" value="191">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_quotedbl" value="34">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_quoteleft" value="96">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_quoteright" value="39">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_r" value="114">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_racute" value="480">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_radical" value="2262">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_rcaron" value="504">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_rcedilla" value="947">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_registered" value="174">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_rightanglebracket" value="2750">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_rightarrow" value="2301">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_rightcaret" value="2982">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_rightdoublequotemark" value="2771">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_rightmiddlecurlybrace" value="2224">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_rightmiddlesummation" value="2231">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_rightopentriangle" value="2765">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_rightpointer" value="2795">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_rightshoe" value="3032">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_rightsinglequotemark" value="2769">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_rightt" value="2549">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_righttack" value="3068">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_s" value="115">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_sabovedot" value="16784993">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_sacute" value="438">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_scaron" value="441">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_scedilla" value="442">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_schwa" value="16777817">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_scircumflex" value="766">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_script_switch" value="65406">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_seconds" value="2775">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_section" value="167">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_semicolon" value="59">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_semivoicedsound" value="1247">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_seveneighths" value="2758">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_sevensubscript" value="16785543">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_sevensuperior" value="16785527">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_signaturemark" value="2762">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_signifblank" value="2732">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_similarequal" value="2249">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_singlelowquotemark" value="2813">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_sixsubscript" value="16785542">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_sixsuperior" value="16785526">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_slash" value="47">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_soliddiamond" value="2528">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_space" value="32">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_squareroot" value="16785946">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ssharp" value="223">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_sterling" value="163">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_stricteq" value="16786019">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_t" value="116">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_tabovedot" value="16785003">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_tcaron" value="443">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_tcedilla" value="510">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_telephone" value="2809">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_telephonerecorder" value="2810">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_therefore" value="2240">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_thinspace" value="2727">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_thorn" value="254">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_threeeighths" value="2756">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_threefifths" value="2740">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_threequarters" value="190">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_threesubscript" value="16785539">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_threesuperior" value="179">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_tintegral" value="16785965">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_topintegral" value="2212">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_topleftparens" value="2219">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_topleftradical" value="2210">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_topleftsqbracket" value="2215">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_topleftsummation" value="2225">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_toprightparens" value="2221">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_toprightsqbracket" value="2217">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_toprightsummation" value="2229">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_topt" value="2551">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_topvertsummationconnector" value="2227">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_trademark" value="2761">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_trademarkincircle" value="2763">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_tslash" value="956">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_twofifths" value="2739">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_twosubscript" value="16785538">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_twosuperior" value="178">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_twothirds" value="2737">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_u" value="117">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_uacute" value="250">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ubelowdot" value="16785125">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ubreve" value="765">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ucircumflex" value="251">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_udiaeresis" value="252">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_udoubleacute" value="507">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ugrave" value="249">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_uhook" value="16785127">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_uhorn" value="16777648">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_uhornacute" value="16785129">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_uhornbelowdot" value="16785137">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_uhorngrave" value="16785131">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_uhornhook" value="16785133">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_uhorntilde" value="16785135">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_umacron" value="1022">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_underbar" value="3014">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_underscore" value="95">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_union" value="2269">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_uogonek" value="1017">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_uparrow" value="2300">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_upcaret" value="2985">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_upleftcorner" value="2540">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_uprightcorner" value="2539">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_upshoe" value="3011">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_upstile" value="3027">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_uptack" value="3022">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_uring" value="505">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_utilde" value="1021">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_v" value="118">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_variation" value="2241">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_vertbar" value="2552">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_vertconnector" value="2214">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_voicedsound" value="1246">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_vt" value="2537">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_w" value="119">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_wacute" value="16785027">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_wcircumflex" value="16777589">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_wdiaeresis" value="16785029">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_wgrave" value="16785025">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_x" value="120">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_xabovedot" value="16785035">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_y" value="121">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_yacute" value="253">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ybelowdot" value="16785141">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ycircumflex" value="16777591">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ydiaeresis" value="255">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_yen" value="165">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ygrave" value="16785139">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_yhook" value="16785143">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_ytilde" value="16785145">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_z" value="122">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_zabovedot" value="447">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_zacute" value="444">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_zcaron" value="446">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_zerosubscript" value="16785536">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_zerosuperior" value="16785520">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KEY_zstroke" value="16777654">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_0" value="65456">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_1" value="65457">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_2" value="65458">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_3" value="65459">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_4" value="65460">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_5" value="65461">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_6" value="65462">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_7" value="65463">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_8" value="65464">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_9" value="65465">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_Add" value="65451">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_Begin" value="65437">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_Decimal" value="65454">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_Delete" value="65439">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_Divide" value="65455">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_Down" value="65433">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_End" value="65436">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_Enter" value="65421">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_Equal" value="65469">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_F1" value="65425">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_F2" value="65426">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_F3" value="65427">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_F4" value="65428">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_Home" value="65429">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_Insert" value="65438">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_Left" value="65430">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_Multiply" value="65450">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_Next" value="65435">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_Page_Down" value="65435">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_Page_Up" value="65434">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_Prior" value="65434">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_Right" value="65432">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_Separator" value="65452">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_Space" value="65408">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_Subtract" value="65453">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_Tab" value="65417">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KP_Up" value="65431">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Kana_Lock" value="65325">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Kana_Shift" value="65326">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Kanji" value="65313">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Kanji_Bangou" value="65335">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Katakana" value="65318">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KbdBrightnessDown" value="269025030">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KbdBrightnessUp" value="269025029">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="KbdLightOnOff" value="269025028">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Kcedilla" value="979">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <record name="KeyEvent" c:type="ClutterKeyEvent" version="0.2">
-      <doc xml:whitespace="preserve">Key event</doc>
-      <field name="type" writable="1">
-        <type name="EventType" c:type="ClutterEventType"/>
-      </field>
-      <field name="time" writable="1">
-        <type name="guint32" c:type="guint32"/>
-      </field>
-      <field name="flags" writable="1">
-        <type name="EventFlags" c:type="ClutterEventFlags"/>
-      </field>
-      <field name="stage" writable="1">
-        <type name="Stage" c:type="ClutterStage*"/>
-      </field>
-      <field name="source" writable="1">
-        <type name="Actor" c:type="ClutterActor*"/>
-      </field>
-      <field name="modifier_state" writable="1">
-        <type name="ModifierType" c:type="ClutterModifierType"/>
-      </field>
-      <field name="keyval" writable="1">
-        <type name="guint" c:type="guint"/>
-      </field>
-      <field name="hardware_keycode" writable="1">
-        <type name="guint16" c:type="guint16"/>
-      </field>
-      <field name="unicode_value" introspectable="0" writable="1">
-        <type name="gunichar" c:type="gunichar"/>
-      </field>
-      <field name="device" writable="1">
-        <type name="InputDevice" c:type="ClutterInputDevice*"/>
-      </field>
-    </record>
-    <record name="Knot"
-            c:type="ClutterKnot"
-            version="0.2"
-            glib:type-name="ClutterKnot"
-            glib:get-type="clutter_knot_get_type"
-            c:symbol-prefix="knot">
-      <doc xml:whitespace="preserve">Point in a path behaviour.</doc>
-      <field name="x" writable="1">
-        <type name="gint" c:type="gint"/>
-      </field>
-      <field name="y" writable="1">
-        <type name="gint" c:type="gint"/>
-      </field>
-      <method name="copy" c:identifier="clutter_knot_copy" version="0.2">
-        <doc xml:whitespace="preserve">Makes an allocated copy of a knot.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the copied knot.</doc>
-          <type name="Knot" c:type="ClutterKnot*"/>
-        </return-value>
-      </method>
-      <method name="equal" c:identifier="clutter_knot_equal" version="0.2">
-        <doc xml:whitespace="preserve">Compares to knot and checks if the point to the same location.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the knots point to the same location.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="knot_b" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Second knot</doc>
-            <type name="Knot" c:type="ClutterKnot*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="free" c:identifier="clutter_knot_free" version="0.2">
-        <doc xml:whitespace="preserve">Frees the memory of an allocated knot.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-    </record>
-    <constant name="Korean_Won" value="3839">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="L" value="76">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="L1" value="65480">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="L10" value="65489">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="L2" value="65481">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="L3" value="65482">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="L4" value="65483">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="L5" value="65484">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="L6" value="65485">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="L7" value="65486">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="L8" value="65487">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="L9" value="65488">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Lacute" value="453">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Last_Virtual_Screen" value="65236">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Launch0" value="269025088">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Launch1" value="269025089">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Launch2" value="269025090">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Launch3" value="269025091">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Launch4" value="269025092">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Launch5" value="269025093">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Launch6" value="269025094">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Launch7" value="269025095">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Launch8" value="269025096">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Launch9" value="269025097">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="LaunchA" value="269025098">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="LaunchB" value="269025099">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="LaunchC" value="269025100">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="LaunchD" value="269025101">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="LaunchE" value="269025102">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="LaunchF" value="269025103">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="LayoutManager"
-           c:symbol-prefix="layout_manager"
-           c:type="ClutterLayoutManager"
-           version="1.2"
-           parent="GObject.InitiallyUnowned"
-           abstract="1"
-           glib:type-name="ClutterLayoutManager"
-           glib:get-type="clutter_layout_manager_get_type"
-           glib:type-struct="LayoutManagerClass">
-      <doc xml:whitespace="preserve">The #ClutterLayoutManager structure contains only private data
-and should be accessed using the provided API</doc>
-      <virtual-method name="allocate" invoker="allocate" version="1.2">
-        <doc xml:whitespace="preserve">Allocates the children of @container given an area
-See also clutter_actor_allocate()</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="container" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #ClutterContainer using @manager</doc>
-            <type name="Container" c:type="ClutterContainer*"/>
-          </parameter>
-          <parameter name="allocation" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #ClutterActorBox containing the allocated area of @container</doc>
-            <type name="ActorBox" c:type="ClutterActorBox*"/>
-          </parameter>
-          <parameter name="flags" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the allocation flags</doc>
-            <type name="AllocationFlags" c:type="ClutterAllocationFlags"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="begin_animation"
-                      invoker="begin_animation"
-                      version="1.2">
-        <doc xml:whitespace="preserve">Begins an animation of @duration milliseconds, using the provided
-easing @mode
-The easing mode can be specified either as a #ClutterAnimationMode
-or as a logical id returned by clutter_alpha_register_func()
-The result of this function depends on the @manager implementation
-layout manager; the returned instance is owned by the layout
-manager and should not be unreferenced</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The #ClutterAlpha created by the</doc>
-          <type name="Alpha" c:type="ClutterAlpha*"/>
-        </return-value>
-        <parameters>
-          <parameter name="duration" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the duration of the animation, in milliseconds</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="mode" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the easing mode of the animation</doc>
-            <type name="gulong" c:type="gulong"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="create_child_meta" introspectable="0">
-        <return-value>
-          <type name="LayoutMeta" c:type="ClutterLayoutMeta*"/>
-        </return-value>
-        <parameters>
-          <parameter name="container" transfer-ownership="none">
-            <type name="Container" c:type="ClutterContainer*"/>
-          </parameter>
-          <parameter name="actor" transfer-ownership="none">
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="end_animation"
-                      invoker="end_animation"
-                      version="1.2">
-        <doc xml:whitespace="preserve">Ends an animation started by clutter_layout_manager_begin_animation()
-The result of this call depends on the @manager implementation</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="get_animation_progress"
-                      invoker="get_animation_progress"
-                      version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the progress of the animation, if one has been started by
-clutter_layout_manager_begin_animation()
-The returned value has the same semantics of the #ClutterAlpha:alpha
-value</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the progress of the animation</doc>
-          <type name="gdouble" c:type="gdouble"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="get_child_meta_type">
-        <return-value transfer-ownership="none">
-          <type name="GType" c:type="GType"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="get_preferred_height"
-                      invoker="get_preferred_height"
-                      version="1.2">
-        <doc xml:whitespace="preserve">Computes the minimum and natural heights of the @container according
-to @manager.
-See also clutter_actor_get_preferred_height()</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="container" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #ClutterContainer using @manager</doc>
-            <type name="Container" c:type="ClutterContainer*"/>
-          </parameter>
-          <parameter name="for_width" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the width for which the height should be computed, or -1</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="minimum_height_p" transfer-ownership="none">
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="natural_height_p" transfer-ownership="none">
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="get_preferred_width"
-                      invoker="get_preferred_width"
-                      version="1.2">
-        <doc xml:whitespace="preserve">Computes the minimum and natural widths of the @container according
-to @manager.
-See also clutter_actor_get_preferred_width()</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="container" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #ClutterContainer using @manager</doc>
-            <type name="Container" c:type="ClutterContainer*"/>
-          </parameter>
-          <parameter name="for_height" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the height for which the width should be computed, or -1</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="minimum_width_p" transfer-ownership="none">
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="natural_width_p" transfer-ownership="none">
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="set_container"
-                      invoker="set_container"
-                      version="1.2">
-        <doc xml:whitespace="preserve">If the #ClutterLayoutManager sub-class allows it, allow
-adding a weak reference of the @container using @manager
-from within the layout manager
-The layout manager should not increase the reference
-count of the @container</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="container" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #ClutterContainer using @manager</doc>
-            <type name="Container" c:type="ClutterContainer*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <method name="allocate"
-              c:identifier="clutter_layout_manager_allocate"
-              version="1.2">
-        <doc xml:whitespace="preserve">Allocates the children of @container given an area
-See also clutter_actor_allocate()</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="container" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #ClutterContainer using @manager</doc>
-            <type name="Container" c:type="ClutterContainer*"/>
-          </parameter>
-          <parameter name="allocation" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #ClutterActorBox containing the allocated area of @container</doc>
-            <type name="ActorBox" c:type="ClutterActorBox*"/>
-          </parameter>
-          <parameter name="flags" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the allocation flags</doc>
-            <type name="AllocationFlags" c:type="ClutterAllocationFlags"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="begin_animation"
-              c:identifier="clutter_layout_manager_begin_animation"
-              version="1.2">
-        <doc xml:whitespace="preserve">Begins an animation of @duration milliseconds, using the provided
-easing @mode
-The easing mode can be specified either as a #ClutterAnimationMode
-or as a logical id returned by clutter_alpha_register_func()
-The result of this function depends on the @manager implementation
-layout manager; the returned instance is owned by the layout
-manager and should not be unreferenced</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The #ClutterAlpha created by the</doc>
-          <type name="Alpha" c:type="ClutterAlpha*"/>
-        </return-value>
-        <parameters>
-          <parameter name="duration" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the duration of the animation, in milliseconds</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="mode" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the easing mode of the animation</doc>
-            <type name="gulong" c:type="gulong"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="child_get"
-              c:identifier="clutter_layout_manager_child_get"
-              version="1.2"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Retrieves the values for a list of properties out of the
-#ClutterLayoutMeta created by @manager and attached to the
-child of a @container</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="container" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterContainer using @manager</doc>
-            <type name="Container" c:type="ClutterContainer*"/>
-          </parameter>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor child of @container</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="first_property" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the first property</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="child_get_property"
-              c:identifier="clutter_layout_manager_child_get_property"
-              version="1.2">
-        <doc xml:whitespace="preserve">Gets a property on the #ClutterLayoutMeta created by @manager and
-attached to a child of @container
-The #GValue must already be initialized to the type of the property
-and has to be unset with g_value_unset() after extracting the real
-value out of it</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="container" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterContainer using @manager</doc>
-            <type name="Container" c:type="ClutterContainer*"/>
-          </parameter>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor child of @container</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the property to get</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GValue with the value of the property to get</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="child_set"
-              c:identifier="clutter_layout_manager_child_set"
-              version="1.2"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Sets a list of properties and their values on the #ClutterLayoutMeta
-associated by @manager to a child of @container
-Languages bindings should use clutter_layout_manager_child_set_property()
-instead</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="container" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterContainer using @manager</doc>
-            <type name="Container" c:type="ClutterContainer*"/>
-          </parameter>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor child of @container</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="first_property" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the first property name</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="child_set_property"
-              c:identifier="clutter_layout_manager_child_set_property"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets a property on the #ClutterLayoutMeta created by @manager and
-attached to a child of @container</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="container" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterContainer using @manager</doc>
-            <type name="Container" c:type="ClutterContainer*"/>
-          </parameter>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor child of @container</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the property to set</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GValue with the value of the property to set</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="end_animation"
-              c:identifier="clutter_layout_manager_end_animation"
-              version="1.2">
-        <doc xml:whitespace="preserve">Ends an animation started by clutter_layout_manager_begin_animation()
-The result of this call depends on the @manager implementation</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="find_child_property"
-              c:identifier="clutter_layout_manager_find_child_property"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the #GParamSpec for the layout property @name inside
-the #ClutterLayoutMeta sub-class used by @manager
-or %NULL if no property with that name exists. The returned
-#GParamSpec is owned by the layout manager and should not be
-modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GParamSpec describing the property,</doc>
-          <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
-        </return-value>
-        <parameters>
-          <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the property</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_animation_progress"
-              c:identifier="clutter_layout_manager_get_animation_progress"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the progress of the animation, if one has been started by
-clutter_layout_manager_begin_animation()
-The returned value has the same semantics of the #ClutterAlpha:alpha
-value</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the progress of the animation</doc>
-          <type name="gdouble" c:type="gdouble"/>
-        </return-value>
-      </method>
-      <method name="get_child_meta"
-              c:identifier="clutter_layout_manager_get_child_meta"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterLayoutMeta that the layout @manager associated
-to the @actor child of @container, eventually by creating one if the
-#ClutterLayoutManager supports layout properties
-#ClutterLayoutManager does not have layout properties. The returned
-layout meta instance is owned by the #ClutterLayoutManager and it
-should not be unreferenced</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterLayoutMeta, or %NULL if the</doc>
-          <type name="LayoutMeta" c:type="ClutterLayoutMeta*"/>
-        </return-value>
-        <parameters>
-          <parameter name="container" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterContainer using @manager</doc>
-            <type name="Container" c:type="ClutterContainer*"/>
-          </parameter>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor child of @container</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_preferred_height"
-              c:identifier="clutter_layout_manager_get_preferred_height"
-              version="1.2">
-        <doc xml:whitespace="preserve">Computes the minimum and natural heights of the @container according
-to @manager.
-See also clutter_actor_get_preferred_height()</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="container" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #ClutterContainer using @manager</doc>
-            <type name="Container" c:type="ClutterContainer*"/>
-          </parameter>
-          <parameter name="for_width" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the width for which the height should be computed, or -1</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="min_height_p"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the minimum height of the layout, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="nat_height_p"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the natural height of the layout, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_preferred_width"
-              c:identifier="clutter_layout_manager_get_preferred_width"
-              version="1.2">
-        <doc xml:whitespace="preserve">Computes the minimum and natural widths of the @container according
-to @manager.
-See also clutter_actor_get_preferred_width()</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="container" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #ClutterContainer using @manager</doc>
-            <type name="Container" c:type="ClutterContainer*"/>
-          </parameter>
-          <parameter name="for_height" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the height for which the width should be computed, or -1</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="min_width_p"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the minimum width of the layout, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="nat_width_p"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for the natural width of the layout, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="layout_changed"
-              c:identifier="clutter_layout_manager_layout_changed"
-              version="1.2">
-        <doc xml:whitespace="preserve">Emits the #ClutterLayoutManager::layout-changed signal on @manager
-This function should only be called by implementations of the
-#ClutterLayoutManager class</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="list_child_properties"
-              c:identifier="clutter_layout_manager_list_child_properties"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves all the #GParamSpec&lt;!-- --&gt;s for the layout properties
-stored inside the #ClutterLayoutMeta sub-class used by @manager
-%NULL-terminated array of #GParamSpec&lt;!-- --&gt;s. Use g_free() to free the
-resources allocated for the array</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly-allocated,</doc>
-          <array length="0" c:type="GParamSpec**">
-            <type name="GObject.ParamSpec"/>
-          </array>
-        </return-value>
-        <parameters>
-          <parameter name="n_pspecs"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the number of returned #GParamSpec&lt;!-- --&gt;s</doc>
-            <type name="guint" c:type="guint*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_container"
-              c:identifier="clutter_layout_manager_set_container"
-              version="1.2">
-        <doc xml:whitespace="preserve">If the #ClutterLayoutManager sub-class allows it, allow
-adding a weak reference of the @container using @manager
-from within the layout manager
-The layout manager should not increase the reference
-count of the @container</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="container" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #ClutterContainer using @manager</doc>
-            <type name="Container" c:type="ClutterContainer*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <field name="parent_instance">
-        <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
-      </field>
-      <field name="dummy">
-        <type name="gpointer" c:type="gpointer"/>
-      </field>
-      <glib:signal name="layout-changed" version="1.2">
-        <doc xml:whitespace="preserve">The ::layout-changed signal is emitted each time a layout manager
-has been changed. Every #ClutterActor using the @manager instance
-as a layout manager should connect a handler to the ::layout-changed
-signal and queue a relayout on themselves:
-|[
-static void layout_changed (ClutterLayoutManager *manager,
-ClutterActor         *self)
-{
-clutter_actor_queue_relayout (self);
-}
-...
-self-&gt;manager = g_object_ref_sink (manager);
-g_signal_connect (self-&gt;manager, "layout-changed",
-G_CALLBACK (layout_changed),
-self);
-]|
-Sub-classes of #ClutterLayoutManager that implement a layout that
-can be controlled or changed using parameters should emit the
-::layout-changed signal whenever one of the parameters changes,
-by using clutter_layout_manager_layout_changed().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-    </class>
-    <record name="LayoutManagerClass"
-            c:type="ClutterLayoutManagerClass"
-            glib:is-gtype-struct-for="LayoutManager"
-            version="1.2">
-      <doc xml:whitespace="preserve">The #ClutterLayoutManagerClass structure contains only private
-data and should be accessed using the provided API</doc>
-      <field name="parent_class">
-        <type name="GObject.InitiallyUnownedClass"
-              c:type="GInitiallyUnownedClass"/>
-      </field>
-      <field name="get_preferred_width">
-        <callback name="get_preferred_width">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="manager" transfer-ownership="none">
-              <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
-            </parameter>
-            <parameter name="container" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the #ClutterContainer using @manager</doc>
-              <type name="Container" c:type="ClutterContainer*"/>
-            </parameter>
-            <parameter name="for_height" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the height for which the width should be computed, or -1</doc>
-              <type name="gfloat" c:type="gfloat"/>
-            </parameter>
-            <parameter name="minimum_width_p" transfer-ownership="none">
-              <type name="gfloat" c:type="gfloat*"/>
-            </parameter>
-            <parameter name="natural_width_p" transfer-ownership="none">
-              <type name="gfloat" c:type="gfloat*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="get_preferred_height">
-        <callback name="get_preferred_height">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="manager" transfer-ownership="none">
-              <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
-            </parameter>
-            <parameter name="container" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the #ClutterContainer using @manager</doc>
-              <type name="Container" c:type="ClutterContainer*"/>
-            </parameter>
-            <parameter name="for_width" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the width for which the height should be computed, or -1</doc>
-              <type name="gfloat" c:type="gfloat"/>
-            </parameter>
-            <parameter name="minimum_height_p" transfer-ownership="none">
-              <type name="gfloat" c:type="gfloat*"/>
-            </parameter>
-            <parameter name="natural_height_p" transfer-ownership="none">
-              <type name="gfloat" c:type="gfloat*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="allocate">
-        <callback name="allocate">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="manager" transfer-ownership="none">
-              <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
-            </parameter>
-            <parameter name="container" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the #ClutterContainer using @manager</doc>
-              <type name="Container" c:type="ClutterContainer*"/>
-            </parameter>
-            <parameter name="allocation" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the #ClutterActorBox containing the allocated area of @container</doc>
-              <type name="ActorBox" c:type="ClutterActorBox*"/>
-            </parameter>
-            <parameter name="flags" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the allocation flags</doc>
-              <type name="AllocationFlags" c:type="ClutterAllocationFlags"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="set_container">
-        <callback name="set_container">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="manager" transfer-ownership="none">
-              <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
-            </parameter>
-            <parameter name="container"
-                       transfer-ownership="none"
-                       allow-none="1">
-              <doc xml:whitespace="preserve">a #ClutterContainer using @manager</doc>
-              <type name="Container" c:type="ClutterContainer*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="get_child_meta_type">
-        <callback name="get_child_meta_type">
-          <return-value transfer-ownership="none">
-            <type name="GType" c:type="GType"/>
-          </return-value>
-          <parameters>
-            <parameter name="manager" transfer-ownership="none">
-              <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="create_child_meta" introspectable="0">
-        <callback name="create_child_meta" introspectable="0">
-          <return-value>
-            <type name="LayoutMeta" c:type="ClutterLayoutMeta*"/>
-          </return-value>
-          <parameters>
-            <parameter name="manager" transfer-ownership="none">
-              <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
-            </parameter>
-            <parameter name="container" transfer-ownership="none">
-              <type name="Container" c:type="ClutterContainer*"/>
-            </parameter>
-            <parameter name="actor" transfer-ownership="none">
-              <type name="Actor" c:type="ClutterActor*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="begin_animation">
-        <callback name="begin_animation">
-          <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">The #ClutterAlpha created by the</doc>
-            <type name="Alpha" c:type="ClutterAlpha*"/>
-          </return-value>
-          <parameters>
-            <parameter name="manager" transfer-ownership="none">
-              <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
-            </parameter>
-            <parameter name="duration" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the duration of the animation, in milliseconds</doc>
-              <type name="guint" c:type="guint"/>
-            </parameter>
-            <parameter name="mode" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the easing mode of the animation</doc>
-              <type name="gulong" c:type="gulong"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="get_animation_progress">
-        <callback name="get_animation_progress">
-          <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">the progress of the animation</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </return-value>
-          <parameters>
-            <parameter name="manager" transfer-ownership="none">
-              <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="end_animation">
-        <callback name="end_animation">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="manager" transfer-ownership="none">
-              <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="layout_changed">
-        <callback name="layout_changed">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="manager" transfer-ownership="none">
-              <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_clutter_padding_1" introspectable="0">
-        <callback name="_clutter_padding_1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_padding_2" introspectable="0">
-        <callback name="_clutter_padding_2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_padding_3" introspectable="0">
-        <callback name="_clutter_padding_3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_padding_4" introspectable="0">
-        <callback name="_clutter_padding_4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_padding_5" introspectable="0">
-        <callback name="_clutter_padding_5">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_padding_6" introspectable="0">
-        <callback name="_clutter_padding_6">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_padding_7" introspectable="0">
-        <callback name="_clutter_padding_7">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_padding_8" introspectable="0">
-        <callback name="_clutter_padding_8">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <class name="LayoutMeta"
-           c:symbol-prefix="layout_meta"
-           c:type="ClutterLayoutMeta"
-           parent="ChildMeta"
-           abstract="1"
-           glib:type-name="ClutterLayoutMeta"
-           glib:get-type="clutter_layout_meta_get_type"
-           glib:type-struct="LayoutMetaClass">
-      <method name="get_manager"
-              c:identifier="clutter_layout_meta_get_manager"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the actor wrapped by @data</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterLayoutManager</doc>
-          <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
-        </return-value>
-      </method>
-      <property name="manager"
-                version="1.2"
-                writable="1"
-                construct-only="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The #ClutterLayoutManager that created this #ClutterLayoutMeta.</doc>
-        <type name="LayoutManager"/>
-      </property>
-      <field name="parent_instance">
-        <type name="ChildMeta" c:type="ClutterChildMeta"/>
-      </field>
-      <field name="manager">
-        <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
-      </field>
-      <field name="dummy0">
-        <type name="gint32" c:type="gint32"/>
-      </field>
-      <field name="dummy1">
-        <type name="gpointer" c:type="gpointer"/>
-      </field>
-    </class>
-    <record name="LayoutMetaClass"
-            c:type="ClutterLayoutMetaClass"
-            glib:is-gtype-struct-for="LayoutMeta"
-            version="1.2">
-      <doc xml:whitespace="preserve">The #ClutterLayoutMetaClass contains only private data and
-should never be accessed directly</doc>
-      <field name="parent_class">
-        <type name="ChildMetaClass" c:type="ClutterChildMetaClass"/>
-      </field>
-      <field name="_clutter_padding1" introspectable="0">
-        <callback name="_clutter_padding1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_padding2" introspectable="0">
-        <callback name="_clutter_padding2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_padding3" introspectable="0">
-        <callback name="_clutter_padding3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_padding4" introspectable="0">
-        <callback name="_clutter_padding4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <constant name="Lbelowdot" value="16784950">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Lcaron" value="421">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Lcedilla" value="934">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Left" value="65361">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="LightBulb" value="269025077">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Linefeed" value="65290">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="LiraSign" value="16785572">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="ListModel"
-           c:symbol-prefix="list_model"
-           c:type="ClutterListModel"
-           version="0.6"
-           parent="Model"
-           glib:type-name="ClutterListModel"
-           glib:get-type="clutter_list_model_get_type"
-           glib:type-struct="ListModelClass">
-      <doc xml:whitespace="preserve">The #ClutterListModel struct contains only private data.</doc>
-      <implements name="Scriptable"/>
-      <constructor name="new"
-                   c:identifier="clutter_list_model_new"
-                   version="0.6"
-                   introspectable="0">
-        <doc xml:whitespace="preserve">Creates a new default model with @n_columns columns with the types 
-and names passed in.
-For example:
-&lt;informalexample&gt;&lt;programlisting&gt;
-model = clutter_list_model_new (3,
-G_TYPE_INT,      "Score",
-G_TYPE_STRING,   "Team",
-GDK_TYPE_PIXBUF, "Logo");
-&lt;/programlisting&gt;&lt;/informalexample&gt;
-will create a new #ClutterModel with three columns of type int,
-string and #GdkPixbuf respectively.
-Note that the name of the column can be set to %NULL, in which case
-the canonical name of the type held by the column will be used as
-the title.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #ClutterListModel</doc>
-          <type name="Model" c:type="ClutterModel*"/>
-        </return-value>
-        <parameters>
-          <parameter name="n_columns" transfer-ownership="none">
-            <doc xml:whitespace="preserve">number of columns in the model</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </constructor>
-      <function name="newv"
-                c:identifier="clutter_list_model_newv"
-                version="0.6">
-        <doc xml:whitespace="preserve">Non-vararg version of clutter_list_model_new(). This function is
-useful for language bindings.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new default #ClutterModel</doc>
-          <type name="Model" c:type="ClutterModel*"/>
-        </return-value>
-        <parameters>
-          <parameter name="n_columns" transfer-ownership="none">
-            <doc xml:whitespace="preserve">number of columns in the model</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="types" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an array of #GType types for the columns, from first to last</doc>
-            <type name="GType" c:type="GType*"/>
-          </parameter>
-          <parameter name="names" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an array of names for the columns, from first to last</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </function>
-      <field name="parent_instance">
-        <type name="Model" c:type="ClutterModel"/>
-      </field>
-      <field name="priv">
-        <type name="ListModelPrivate" c:type="ClutterListModelPrivate*"/>
-      </field>
-    </class>
-    <record name="ListModelClass"
-            c:type="ClutterListModelClass"
-            glib:is-gtype-struct-for="ListModel"
-            version="0.6">
-      <doc xml:whitespace="preserve">The #ClutterListModelClass struct contains only private data.</doc>
-      <field name="parent_class">
-        <type name="ModelClass" c:type="ClutterModelClass"/>
-      </field>
-    </record>
-    <record name="ListModelPrivate"
-            c:type="ClutterListModelPrivate"
-            disguised="1">
-    </record>
-    <constant name="LogOff" value="269025121">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Lstroke" value="419">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="M" value="77">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="MAJOR_VERSION" value="1">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="MICRO_VERSION" value="0">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="MINOR_VERSION" value="4">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Mabovedot" value="16784960">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Macedonia_DSE" value="1717">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Macedonia_GJE" value="1714">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Macedonia_KJE" value="1724">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Macedonia_dse" value="1701">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Macedonia_gje" value="1698">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Macedonia_kje" value="1708">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Mae_Koho" value="65342">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Mail" value="269025049">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="MailForward" value="269025168">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Market" value="269025122">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Massyo" value="65324">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <interface name="Media"
-               c:symbol-prefix="media"
-               c:type="ClutterMedia"
-               version="0.2"
-               glib:type-name="ClutterMedia"
-               glib:get-type="clutter_media_get_type"
-               glib:type-struct="MediaIface">
-      <doc xml:whitespace="preserve">#ClutterMedia is an opaque structure whose members cannot be directly
-accessed</doc>
-      <method name="get_audio_volume"
-              c:identifier="clutter_media_get_audio_volume"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the playback volume of @media.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The playback volume between 0.0 and 1.0</doc>
-          <type name="gdouble" c:type="gdouble"/>
-        </return-value>
-      </method>
-      <method name="get_buffer_fill"
-              c:identifier="clutter_media_get_buffer_fill"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the amount of the stream that is buffered.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the fill level, between 0.0 and 1.0</doc>
-          <type name="gdouble" c:type="gdouble"/>
-        </return-value>
-      </method>
-      <method name="get_can_seek"
-              c:identifier="clutter_media_get_can_seek"
-              version="0.2">
-        <doc xml:whitespace="preserve">Retrieves whether @media is seekable or not.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if @media can seek, %FALSE otherwise.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_duration"
-              c:identifier="clutter_media_get_duration"
-              version="0.2">
-        <doc xml:whitespace="preserve">Retrieves the duration of the media stream that @media represents.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the duration of the media stream, in seconds</doc>
-          <type name="gdouble" c:type="gdouble"/>
-        </return-value>
-      </method>
-      <method name="get_playing"
-              c:identifier="clutter_media_get_playing"
-              version="0.2">
-        <doc xml:whitespace="preserve">Retrieves the playing status of @media.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if playing, %FALSE if stopped.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_progress"
-              c:identifier="clutter_media_get_progress"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the playback progress of @media.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the playback progress, between 0.0 and 1.0</doc>
-          <type name="gdouble" c:type="gdouble"/>
-        </return-value>
-      </method>
-      <method name="get_subtitle_font_name"
-              c:identifier="clutter_media_get_subtitle_font_name"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the font name currently used.
-to free the returned string</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a string containing the font name. Use g_free()</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-      <method name="get_subtitle_uri"
-              c:identifier="clutter_media_get_subtitle_uri"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the URI of the subtitle file in use.
-to free the returned string</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the URI of the subtitle file. Use g_free()</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-      <method name="get_uri"
-              c:identifier="clutter_media_get_uri"
-              version="0.2">
-        <doc xml:whitespace="preserve">Retrieves the URI from @media.
-to free the returned string</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the URI of the media stream. Use g_free()</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-      <method name="set_audio_volume"
-              c:identifier="clutter_media_set_audio_volume"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the playback volume of @media to @volume.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="volume" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the volume as a double between 0.0 and 1.0</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_filename"
-              c:identifier="clutter_media_set_filename"
-              version="0.2">
-        <doc xml:whitespace="preserve">Sets the source of @media using a file path.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="filename" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A filename</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_playing"
-              c:identifier="clutter_media_set_playing"
-              version="0.2">
-        <doc xml:whitespace="preserve">Starts or stops playing of @media.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="playing" transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE to start playing</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_progress"
-              c:identifier="clutter_media_set_progress"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the playback progress of @media. The @progress is
-a normalized value between 0.0 (begin) and 1.0 (end).</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="progress" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the progress of the playback, between 0.0 and 1.0</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_subtitle_font_name"
-              c:identifier="clutter_media_set_subtitle_font_name"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets the font used by the subtitle renderer. The @font_name string must be
-either %NULL, which means that the default font name of the underlying
-implementation will be used; or must follow the grammar recognized by
-pango_font_description_from_string() like:
-|[
-clutter_media_set_subtitle_font_name (media, "Sans 24pt");
-]|</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="font_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a font name, or %NULL to set the default font name</doc>
-            <type name="utf8" c:type="char*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_subtitle_uri"
-              c:identifier="clutter_media_set_subtitle_uri"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets the location of a subtitle file to display while playing @media.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="uri" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the URI of a subtitle file</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_uri"
-              c:identifier="clutter_media_set_uri"
-              version="0.2">
-        <doc xml:whitespace="preserve">Sets the URI of @media to @uri.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="uri" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the URI of the media stream</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="audio-volume"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The volume of the audio, as a normalized value between
-0.0 and 1.0.</doc>
-        <type name="gdouble"/>
-      </property>
-      <property name="buffer-fill" version="1.0" transfer-ownership="none">
-        <doc xml:whitespace="preserve">The fill level of the buffer for the current stream,
-as a value between 0.0 and 1.0.</doc>
-        <type name="gdouble"/>
-      </property>
-      <property name="can-seek" version="0.2" transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the current stream is seekable.</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="duration" version="0.2" transfer-ownership="none">
-        <doc xml:whitespace="preserve">The duration of the current stream, in seconds</doc>
-        <type name="gdouble"/>
-      </property>
-      <property name="playing"
-                version="0.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the #ClutterMedia actor is playing.</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="progress"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The current progress of the playback, as a normalized
-value between 0.0 and 1.0.</doc>
-        <type name="gdouble"/>
-      </property>
-      <property name="subtitle-font-name"
-                version="1.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The font used to display subtitles. The font description has to
-follow the same grammar as the one recognized by
-pango_font_description_from_string().</doc>
-        <type name="utf8"/>
-      </property>
-      <property name="subtitle-uri"
-                version="1.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The location of a subtitle file, expressed as a valid URI.</doc>
-        <type name="utf8"/>
-      </property>
-      <property name="uri"
-                version="0.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The location of a media file, expressed as a valid URI.</doc>
-        <type name="utf8"/>
-      </property>
-      <glib:signal name="eos" version="0.2">
-        <doc xml:whitespace="preserve">The ::eos signal is emitted each time the media stream ends.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="error" version="0.2">
-        <doc xml:whitespace="preserve">The ::error signal is emitted each time an error occurred.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #GError</doc>
-            <type name="gpointer"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-    </interface>
-    <record name="MediaIface"
-            c:type="ClutterMediaIface"
-            glib:is-gtype-struct-for="Media"
-            version="0.2">
-      <doc xml:whitespace="preserve">Interface vtable for #ClutterMedia implementations</doc>
-      <field name="base_iface">
-        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
-      </field>
-      <field name="eos">
-        <callback name="eos">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="media" transfer-ownership="none">
-              <type name="Media" c:type="ClutterMedia*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="error">
-        <callback name="error">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="media" transfer-ownership="none">
-              <type name="Media" c:type="ClutterMedia*"/>
-            </parameter>
-            <parameter name="error" transfer-ownership="none">
-              <type name="GLib.Error" c:type="GError*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-    </record>
-    <constant name="Meeting" value="269025123">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Memo" value="269025054">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Menu" value="65383">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="MenuKB" value="269025125">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="MenuPB" value="269025126">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Messenger" value="269025166">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Meta_L" value="65511">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Meta_R" value="65512">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="MillSign" value="16785573">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ModeLock" value="269025025">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Mode_switch" value="65406">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="Model"
-           c:symbol-prefix="model"
-           c:type="ClutterModel"
-           version="0.6"
-           parent="GObject.Object"
-           abstract="1"
-           glib:type-name="ClutterModel"
-           glib:get-type="clutter_model_get_type"
-           glib:type-struct="ModelClass">
-      <doc xml:whitespace="preserve">Base class for list models. The #ClutterModel structure contains
-only private data and should be manipulated using the provided
-API.</doc>
-      <implements name="Scriptable"/>
-      <virtual-method name="get_column_name"
-                      invoker="get_column_name"
-                      version="0.6">
-        <doc xml:whitespace="preserve">Retrieves the name of the @column
-string, and it should not be modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the name of the column. The model holds the returned</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-        <parameters>
-          <parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the column number</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="get_column_type"
-                      invoker="get_column_type"
-                      version="0.6">
-        <doc xml:whitespace="preserve">Retrieves the type of the @column.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the type of the column.</doc>
-          <type name="GType" c:type="GType"/>
-        </return-value>
-        <parameters>
-          <parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the column number</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="get_iter_at_row"
-                      invoker="get_iter_at_row"
-                      version="0.6">
-        <doc xml:whitespace="preserve">Retrieves a #ClutterModelIter representing the row at the given index.
-If a filter function has been set using clutter_model_set_filter()
-then the @model implementation will return the first non filtered
-row.
-out of bounds. When done using the iterator object, call g_object_unref()
-to deallocate its resources</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">A new #ClutterModelIter, or %NULL if @row was</doc>
-          <type name="ModelIter" c:type="ClutterModelIter*"/>
-        </return-value>
-        <parameters>
-          <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">position of the row to retrieve</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="get_n_columns"
-                      invoker="get_n_columns"
-                      version="0.6">
-        <doc xml:whitespace="preserve">Retrieves the number of columns inside @model.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of columns</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="get_n_rows" invoker="get_n_rows" version="0.6">
-        <doc xml:whitespace="preserve">Retrieves the number of rows inside @model, eventually taking
-into account any filtering function set using clutter_model_set_filter().
-the length of the filtered @model is returned.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The length of the @model. If there is a filter set, then</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="insert_row" introspectable="0">
-        <return-value>
-          <type name="ModelIter" c:type="ClutterModelIter*"/>
-        </return-value>
-        <parameters>
-          <parameter name="index_" transfer-ownership="none">
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="remove_row">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="row" transfer-ownership="none">
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="resort" introspectable="0">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="func" transfer-ownership="none" closure="1">
-            <type name="ModelSortFunc" c:type="ClutterModelSortFunc"/>
-          </parameter>
-          <parameter name="data" transfer-ownership="none">
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <method name="append"
-              c:identifier="clutter_model_append"
-              version="0.6"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Creates and appends a new row to the #ClutterModel, setting the
-row values upon creation. For example, to append a new row where
-column 0 is type %G_TYPE_INT and column 1 is of type %G_TYPE_STRING:
-&lt;informalexample&gt;&lt;programlisting&gt;
-ClutterModel *model;
-model = clutter_model_default_new (2,
-G_TYPE_INT,    "Score",
-G_TYPE_STRING, "Team");
-clutter_model_append (model, 0, 42, 1, "Team #1", -1);
-&lt;/programlisting&gt;&lt;/informalexample&gt;</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="appendv"
-              c:identifier="clutter_model_appendv"
-              version="0.6">
-        <doc xml:whitespace="preserve">Creates and appends a new row to the #ClutterModel, setting the row
-values for the given @columns upon creation.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="n_columns" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the number of columns and values</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="columns" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a vector with the columns to set</doc>
-            <array length="0" c:type="guint*">
-              <type name="guint"/>
-            </array>
-          </parameter>
-          <parameter name="values" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a vector with the values</doc>
-            <array length="0" c:type="GValue*">
-              <type name="GObject.Value"/>
-            </array>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="filter_iter"
-              c:identifier="clutter_model_filter_iter"
-              version="0.6">
-        <doc xml:whitespace="preserve">Checks whether the row pointer by @iter should be filtered or not using
-the filtering function set on @model.
-This function should be used only by subclasses of #ClutterModel.
-%FALSE otherwise</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the row should be displayed,</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="iter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the row to filter</doc>
-            <type name="ModelIter" c:type="ClutterModelIter*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="filter_row"
-              c:identifier="clutter_model_filter_row"
-              version="0.6">
-        <doc xml:whitespace="preserve">Checks whether @row should be filtered or not using the
-filtering function set on @model.
-This function should be used only by subclasses of #ClutterModel.
-%FALSE otherwise</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the row should be displayed,</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the row to filter</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="foreach"
-              c:identifier="clutter_model_foreach"
-              version="0.6">
-        <doc xml:whitespace="preserve">Calls @func for each row in the model.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="func"
-                     transfer-ownership="none"
-                     scope="call"
-                     closure="1">
-            <doc xml:whitespace="preserve">a #ClutterModelForeachFunc</doc>
-            <type name="ModelForeachFunc" c:type="ClutterModelForeachFunc"/>
-          </parameter>
-          <parameter name="user_data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">user data to pass to @func</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_column_name"
-              c:identifier="clutter_model_get_column_name"
-              version="0.6">
-        <doc xml:whitespace="preserve">Retrieves the name of the @column
-string, and it should not be modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the name of the column. The model holds the returned</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-        <parameters>
-          <parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the column number</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_column_type"
-              c:identifier="clutter_model_get_column_type"
-              version="0.6">
-        <doc xml:whitespace="preserve">Retrieves the type of the @column.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the type of the column.</doc>
-          <type name="GType" c:type="GType"/>
-        </return-value>
-        <parameters>
-          <parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the column number</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_filter_set"
-              c:identifier="clutter_model_get_filter_set"
-              version="1.0">
-        <doc xml:whitespace="preserve">Returns whether the @model has a filter in place, set
-using clutter_model_set_filter()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if a filter is set</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_first_iter"
-              c:identifier="clutter_model_get_first_iter"
-              version="0.6">
-        <doc xml:whitespace="preserve">Retrieves a #ClutterModelIter representing the first non-filtered
-row in @model.
-Call g_object_unref() when done using it</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">A new #ClutterModelIter.</doc>
-          <type name="ModelIter" c:type="ClutterModelIter*"/>
-        </return-value>
-      </method>
-      <method name="get_iter_at_row"
-              c:identifier="clutter_model_get_iter_at_row"
-              version="0.6">
-        <doc xml:whitespace="preserve">Retrieves a #ClutterModelIter representing the row at the given index.
-If a filter function has been set using clutter_model_set_filter()
-then the @model implementation will return the first non filtered
-row.
-out of bounds. When done using the iterator object, call g_object_unref()
-to deallocate its resources</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">A new #ClutterModelIter, or %NULL if @row was</doc>
-          <type name="ModelIter" c:type="ClutterModelIter*"/>
-        </return-value>
-        <parameters>
-          <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">position of the row to retrieve</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_last_iter"
-              c:identifier="clutter_model_get_last_iter"
-              version="0.6">
-        <doc xml:whitespace="preserve">Retrieves a #ClutterModelIter representing the last non-filtered
-row in @model.
-Call g_object_unref() when done using it</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">A new #ClutterModelIter.</doc>
-          <type name="ModelIter" c:type="ClutterModelIter*"/>
-        </return-value>
-      </method>
-      <method name="get_n_columns"
-              c:identifier="clutter_model_get_n_columns"
-              version="0.6">
-        <doc xml:whitespace="preserve">Retrieves the number of columns inside @model.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of columns</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_n_rows"
-              c:identifier="clutter_model_get_n_rows"
-              version="0.6">
-        <doc xml:whitespace="preserve">Retrieves the number of rows inside @model, eventually taking
-into account any filtering function set using clutter_model_set_filter().
-the length of the filtered @model is returned.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The length of the @model. If there is a filter set, then</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_sorting_column"
-              c:identifier="clutter_model_get_sorting_column"
-              version="0.6">
-        <doc xml:whitespace="preserve">Retrieves the number of column used for sorting the @model.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a column number, or -1 if the model is not sorted</doc>
-          <type name="gint" c:type="gint"/>
-        </return-value>
-      </method>
-      <method name="insert"
-              c:identifier="clutter_model_insert"
-              version="0.6"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Inserts a new row to the #ClutterModel at @row, setting the row
-values upon creation. For example, to insert a new row at index 100,
-where column 0 is type %G_TYPE_INT and column 1 is of type
-%G_TYPE_STRING:
-&lt;informalexample&gt;&lt;programlisting&gt;
-ClutterModel *model;
-model = clutter_model_default_new (2,
-G_TYPE_INT,    "Score",
-G_TYPE_STRING, "Team");
-clutter_model_insert (model, 3, 0, 42, 1, "Team #1", -1);
-&lt;/programlisting&gt;&lt;/informalexample&gt;</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the position to insert the new row</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="insert_value"
-              c:identifier="clutter_model_insert_value"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sets the data in the cell specified by @iter and @column. The type of 
-not exist then it is created.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">position of the row to modify</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">column to modify</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">new value for the cell</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="insertv"
-              c:identifier="clutter_model_insertv"
-              version="0.6">
-        <doc xml:whitespace="preserve">Inserts data at @row into the #ClutterModel, setting the row
-values for the given @columns upon creation.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">row index</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="n_columns" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the number of columns and values to set</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="columns" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a vector containing the columns to set</doc>
-            <array length="1" c:type="guint*">
-              <type name="guint"/>
-            </array>
-          </parameter>
-          <parameter name="values" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a vector containing the values for the cells</doc>
-            <array length="1" c:type="GValue*">
-              <type name="GObject.Value"/>
-            </array>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="prepend"
-              c:identifier="clutter_model_prepend"
-              version="0.6"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Creates and prepends a new row to the #ClutterModel, setting the row
-values upon creation. For example, to prepend a new row where column 0
-is type %G_TYPE_INT and column 1 is of type %G_TYPE_STRING:
-&lt;informalexample&gt;&lt;programlisting&gt;
-ClutterModel *model;
-model = clutter_model_default_new (2,
-G_TYPE_INT,    "Score",
-G_TYPE_STRING, "Team");
-clutter_model_prepend (model, 0, 42, 1, "Team #1", -1);
-&lt;/programlisting&gt;&lt;/informalexample&gt;</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="prependv"
-              c:identifier="clutter_model_prependv"
-              version="0.6">
-        <doc xml:whitespace="preserve">Creates and prepends a new row to the #ClutterModel, setting the row
-values for the given @columns upon creation.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="n_columns" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the number of columns and values to set</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="columns" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a vector containing the columns to set</doc>
-            <array length="0" c:type="guint*">
-              <type name="guint"/>
-            </array>
-          </parameter>
-          <parameter name="values" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a vector containing the values for the cells</doc>
-            <array length="0" c:type="GValue*">
-              <type name="GObject.Value"/>
-            </array>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="remove" c:identifier="clutter_model_remove" version="0.6">
-        <doc xml:whitespace="preserve">Removes the row at the given position from the model.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">position of row to remove</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="resort" c:identifier="clutter_model_resort" version="0.6">
-        <doc xml:whitespace="preserve">Force a resort on the @model. This function should only be
-used by subclasses of #ClutterModel.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="set_filter"
-              c:identifier="clutter_model_set_filter"
-              version="0.6">
-        <doc xml:whitespace="preserve">Filters the @model using the given filtering function.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="func"
-                     transfer-ownership="none"
-                     scope="notified"
-                     closure="1"
-                     destroy="2">
-            <doc xml:whitespace="preserve">a #ClutterModelFilterFunc, or #NULL</doc>
-            <type name="ModelFilterFunc" c:type="ClutterModelFilterFunc"/>
-          </parameter>
-          <parameter name="user_data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">user data to pass to @func, or #NULL</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-          <parameter name="notify" transfer-ownership="none" scope="async">
-            <doc xml:whitespace="preserve">destroy notifier of @user_data, or #NULL</doc>
-            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_names"
-              c:identifier="clutter_model_set_names"
-              version="0.6">
-        <doc xml:whitespace="preserve">Assigns a name to the columns of a #ClutterModel.
-This function is meant primarily for #GObjects that inherit from
-#ClutterModel, and should only be used when contructing a #ClutterModel.
-It will not work after the initial creation of the #ClutterModel.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="n_columns" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the number of column names</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="names" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an array of strings</doc>
-            <array length="0" c:type="gchar*">
-              <type name="utf8"/>
-            </array>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_sort"
-              c:identifier="clutter_model_set_sort"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sorts @model using the given sorting function.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the column to sort on</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="func"
-                     transfer-ownership="none"
-                     scope="notified"
-                     closure="2"
-                     destroy="3">
-            <doc xml:whitespace="preserve">a #ClutterModelSortFunc, or #NULL</doc>
-            <type name="ModelSortFunc" c:type="ClutterModelSortFunc"/>
-          </parameter>
-          <parameter name="user_data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">user data to pass to @func, or #NULL</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-          <parameter name="notify" transfer-ownership="none" scope="async">
-            <doc xml:whitespace="preserve">destroy notifier of @user_data, or #NULL</doc>
-            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_sorting_column"
-              c:identifier="clutter_model_set_sorting_column"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sets the model to sort by @column. If @column is a negative value
-the sorting column will be unset.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the column of the @model to sort, or -1</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_types"
-              c:identifier="clutter_model_set_types"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sets the types of the columns inside a #ClutterModel.
-This function is meant primarily for #GObjects that inherit from
-#ClutterModel, and should only be used when contructing a #ClutterModel.
-It will not work after the initial creation of the #ClutterModel.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="n_columns" transfer-ownership="none">
-            <doc xml:whitespace="preserve">number of columns for the model</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="types" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an array of #GType types</doc>
-            <array length="0" c:type="GType*">
-              <type name="GType"/>
-            </array>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="filter-set" version="1.0" transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the #ClutterModel has a filter set
-This property is set to %TRUE if a filter function has been
-set using clutter_model_set_filter()</doc>
-        <type name="gboolean"/>
-      </property>
-      <field name="parent_instance">
-        <type name="GObject.Object" c:type="GObject"/>
-      </field>
-      <field name="priv">
-        <type name="ModelPrivate" c:type="ClutterModelPrivate*"/>
-      </field>
-      <glib:signal name="filter-changed" version="0.6">
-        <doc xml:whitespace="preserve">The ::filter-changed signal is emitted when a new filter has been applied</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="row-added" version="0.6">
-        <doc xml:whitespace="preserve">The ::row-added signal is emitted when a new row has been added.
-The data on the row has already been set when the ::row-added signal
-has been emitted.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterModelIter pointing to the new row</doc>
-            <type name="ModelIter"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="row-changed" version="0.6">
-        <doc xml:whitespace="preserve">The ::row-removed signal is emitted when a row has been changed.
-The data on the row has already been updated when the ::row-changed
-signal has been emitted.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterModelIter pointing to the changed row</doc>
-            <type name="ModelIter"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="row-removed" version="0.6">
-        <doc xml:whitespace="preserve">The ::row-removed signal is emitted when a row has been removed.
-The data on the row pointed by the passed iterator is still valid
-when the ::row-removed signal has been emitted.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterModelIter pointing to the removed row</doc>
-            <type name="ModelIter"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="sort-changed" version="0.6">
-        <doc xml:whitespace="preserve">The ::sort-changed signal is emitted after the model has been sorted</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-    </class>
-    <record name="ModelClass"
-            c:type="ClutterModelClass"
-            glib:is-gtype-struct-for="Model"
-            version="0.6">
-      <doc xml:whitespace="preserve">Class for #ClutterModel instances.</doc>
-      <field name="parent_class">
-        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
-      </field>
-      <field name="get_n_rows">
-        <callback name="get_n_rows">
-          <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">The length of the @model. If there is a filter set, then</doc>
-            <type name="guint" c:type="guint"/>
-          </return-value>
-          <parameters>
-            <parameter name="model" transfer-ownership="none">
-              <type name="Model" c:type="ClutterModel*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="get_n_columns">
-        <callback name="get_n_columns">
-          <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">the number of columns</doc>
-            <type name="guint" c:type="guint"/>
-          </return-value>
-          <parameters>
-            <parameter name="model" transfer-ownership="none">
-              <type name="Model" c:type="ClutterModel*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="get_column_name">
-        <callback name="get_column_name">
-          <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the column. The model holds the returned</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </return-value>
-          <parameters>
-            <parameter name="model" transfer-ownership="none">
-              <type name="Model" c:type="ClutterModel*"/>
-            </parameter>
-            <parameter name="column" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the column number</doc>
-              <type name="guint" c:type="guint"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="get_column_type">
-        <callback name="get_column_type">
-          <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">the type of the column.</doc>
-            <type name="GType" c:type="GType"/>
-          </return-value>
-          <parameters>
-            <parameter name="model" transfer-ownership="none">
-              <type name="Model" c:type="ClutterModel*"/>
-            </parameter>
-            <parameter name="column" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the column number</doc>
-              <type name="guint" c:type="guint"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="insert_row" introspectable="0">
-        <callback name="insert_row" introspectable="0">
-          <return-value>
-            <type name="ModelIter" c:type="ClutterModelIter*"/>
-          </return-value>
-          <parameters>
-            <parameter name="model" transfer-ownership="none">
-              <type name="Model" c:type="ClutterModel*"/>
-            </parameter>
-            <parameter name="index_" transfer-ownership="none">
-              <type name="gint" c:type="gint"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="remove_row">
-        <callback name="remove_row">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="model" transfer-ownership="none">
-              <type name="Model" c:type="ClutterModel*"/>
-            </parameter>
-            <parameter name="row" transfer-ownership="none">
-              <type name="guint" c:type="guint"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="get_iter_at_row">
-        <callback name="get_iter_at_row">
-          <return-value transfer-ownership="full">
-            <doc xml:whitespace="preserve">A new #ClutterModelIter, or %NULL if @row was</doc>
-            <type name="ModelIter" c:type="ClutterModelIter*"/>
-          </return-value>
-          <parameters>
-            <parameter name="model" transfer-ownership="none">
-              <type name="Model" c:type="ClutterModel*"/>
-            </parameter>
-            <parameter name="row" transfer-ownership="none">
-              <doc xml:whitespace="preserve">position of the row to retrieve</doc>
-              <type name="guint" c:type="guint"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="resort" introspectable="0">
-        <callback name="resort" introspectable="0">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="model" transfer-ownership="none">
-              <type name="Model" c:type="ClutterModel*"/>
-            </parameter>
-            <parameter name="func" transfer-ownership="none" closure="2">
-              <type name="ModelSortFunc" c:type="ClutterModelSortFunc"/>
-            </parameter>
-            <parameter name="data" transfer-ownership="none">
-              <type name="gpointer" c:type="gpointer"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="row_added">
-        <callback name="row_added">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="model" transfer-ownership="none">
-              <type name="Model" c:type="ClutterModel*"/>
-            </parameter>
-            <parameter name="iter" transfer-ownership="none">
-              <type name="ModelIter" c:type="ClutterModelIter*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="row_removed">
-        <callback name="row_removed">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="model" transfer-ownership="none">
-              <type name="Model" c:type="ClutterModel*"/>
-            </parameter>
-            <parameter name="iter" transfer-ownership="none">
-              <type name="ModelIter" c:type="ClutterModelIter*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="row_changed">
-        <callback name="row_changed">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="model" transfer-ownership="none">
-              <type name="Model" c:type="ClutterModel*"/>
-            </parameter>
-            <parameter name="iter" transfer-ownership="none">
-              <type name="ModelIter" c:type="ClutterModelIter*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="sort_changed">
-        <callback name="sort_changed">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="model" transfer-ownership="none">
-              <type name="Model" c:type="ClutterModel*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="filter_changed">
-        <callback name="filter_changed">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="model" transfer-ownership="none">
-              <type name="Model" c:type="ClutterModel*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_clutter_model_1" introspectable="0">
-        <callback name="_clutter_model_1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_model_2" introspectable="0">
-        <callback name="_clutter_model_2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_model_3" introspectable="0">
-        <callback name="_clutter_model_3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_model_4" introspectable="0">
-        <callback name="_clutter_model_4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_model_5" introspectable="0">
-        <callback name="_clutter_model_5">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_model_6" introspectable="0">
-        <callback name="_clutter_model_6">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_model_7" introspectable="0">
-        <callback name="_clutter_model_7">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_model_8" introspectable="0">
-        <callback name="_clutter_model_8">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <callback name="ModelFilterFunc"
-              c:type="ClutterModelFilterFunc"
-              version="0.6">
-      <doc xml:whitespace="preserve">Filters the content of a row in the model.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">If the row should be displayed, return %TRUE</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="model" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterModel</doc>
-          <type name="Model" c:type="ClutterModel*"/>
-        </parameter>
-        <parameter name="iter" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the iterator for the row</doc>
-          <type name="ModelIter" c:type="ClutterModelIter*"/>
-        </parameter>
-        <parameter name="user_data" transfer-ownership="none" closure="2">
-          <doc xml:whitespace="preserve">data passed to clutter_model_set_filter()</doc>
-          <type name="gpointer" c:type="gpointer"/>
-        </parameter>
-      </parameters>
-    </callback>
-    <callback name="ModelForeachFunc"
-              c:type="ClutterModelForeachFunc"
-              version="0.6">
-      <doc xml:whitespace="preserve">Iterates on the content of a row in the model</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the iteration should continue, %FALSE otherwise</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="model" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterModel</doc>
-          <type name="Model" c:type="ClutterModel*"/>
-        </parameter>
-        <parameter name="iter" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the iterator for the row</doc>
-          <type name="ModelIter" c:type="ClutterModelIter*"/>
-        </parameter>
-        <parameter name="user_data" transfer-ownership="none" closure="2">
-          <doc xml:whitespace="preserve">data passed to clutter_model_foreach()</doc>
-          <type name="gpointer" c:type="gpointer"/>
-        </parameter>
-      </parameters>
-    </callback>
-    <class name="ModelIter"
-           c:symbol-prefix="model_iter"
-           c:type="ClutterModelIter"
-           version="0.6"
-           parent="GObject.Object"
-           abstract="1"
-           glib:type-name="ClutterModelIter"
-           glib:get-type="clutter_model_iter_get_type"
-           glib:type-struct="ModelIterClass">
-      <doc xml:whitespace="preserve">Base class for list models iters. The #ClutterModelIter structure
-contains only private data and should be manipulated using the
-provided API.</doc>
-      <virtual-method name="copy" invoker="copy" version="0.8">
-        <doc xml:whitespace="preserve">Copies the passed iterator.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a copy of the iterator, or %NULL</doc>
-          <type name="ModelIter" c:type="ClutterModelIter*"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="get_model" invoker="get_model" version="0.6">
-        <doc xml:whitespace="preserve">Retrieves a pointer to the #ClutterModel that this iter is part of.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to a #ClutterModel.</doc>
-          <type name="Model" c:type="ClutterModel*"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="get_row" invoker="get_row" version="0.6">
-        <doc xml:whitespace="preserve">Retrieves the position of the row that the @iter points to.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the position of the @iter in the model</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="get_value" invoker="get_value" version="0.6">
-        <doc xml:whitespace="preserve">Sets an initializes @value to that at @column. When done with @value, 
-g_value_unset() needs to be called to free any allocated memory.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">column number to retrieve the value from</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an empty #GValue to set</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="is_first" invoker="is_first" version="0.6">
-        <doc xml:whitespace="preserve">Gets whether the current iterator is at the beginning of the model
-to which it belongs.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">#TRUE if @iter is the first iter in the filtered model</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="is_last" invoker="is_last" version="0.6">
-        <doc xml:whitespace="preserve">Gets whether the iterator is at the end of the model to which it
-belongs.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">#TRUE if @iter is the last iter in the filtered model.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="next" invoker="next" version="0.6">
-        <doc xml:whitespace="preserve">Updates the @iter to point at the next position in the model.
-The model implementation should take into account the presence of
-a filter function.
-row in the model.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The passed iterator, updated to point at the next</doc>
-          <type name="ModelIter" c:type="ClutterModelIter*"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="prev" invoker="prev" version="0.6">
-        <doc xml:whitespace="preserve">Sets the @iter to point at the previous position in the model.
-The model implementation should take into account the presence of
-a filter function.
-row in the model.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The passed iterator, updated to point at the previous</doc>
-          <type name="ModelIter" c:type="ClutterModelIter*"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="set_value" invoker="set_value" version="0.6">
-        <doc xml:whitespace="preserve">Sets the data in the cell specified by @iter and @column. The type of</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">column number to retrieve the value from</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">new value for the cell</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <method name="copy" c:identifier="clutter_model_iter_copy" version="0.8">
-        <doc xml:whitespace="preserve">Copies the passed iterator.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a copy of the iterator, or %NULL</doc>
-          <type name="ModelIter" c:type="ClutterModelIter*"/>
-        </return-value>
-      </method>
-      <method name="get"
-              c:identifier="clutter_model_iter_get"
-              version="0.6"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Gets the value of one or more cells in the row referenced by @iter. The
-variable argument list should contain integer column numbers, each column
-column number followed by a place to store the value being retrieved. The
-list is terminated by a -1.
-For example, to get a value from column 0 with type %G_TYPE_STRING use:
-&lt;informalexample&gt;&lt;programlisting&gt;
-clutter_model_iter_get (iter, 0, &amp;place_string_here, -1);
-&lt;/programlisting&gt;&lt;/informalexample&gt;
-where place_string_here is a gchar* to be filled with the string. If
-appropriate, the returned values have to be freed or unreferenced.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_model"
-              c:identifier="clutter_model_iter_get_model"
-              version="0.6">
-        <doc xml:whitespace="preserve">Retrieves a pointer to the #ClutterModel that this iter is part of.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to a #ClutterModel.</doc>
-          <type name="Model" c:type="ClutterModel*"/>
-        </return-value>
-      </method>
-      <method name="get_row"
-              c:identifier="clutter_model_iter_get_row"
-              version="0.6">
-        <doc xml:whitespace="preserve">Retrieves the position of the row that the @iter points to.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the position of the @iter in the model</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_valist"
-              c:identifier="clutter_model_iter_get_valist"
-              version="0.6"
-              introspectable="0">
-        <doc xml:whitespace="preserve">See clutter_model_iter_get(). This version takes a va_list for language
-bindings.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="args" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a list of column/return location pairs, terminated by -1</doc>
-            <type name="va_list" c:type="va_list"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_value"
-              c:identifier="clutter_model_iter_get_value"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sets an initializes @value to that at @column. When done with @value, 
-g_value_unset() needs to be called to free any allocated memory.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">column number to retrieve the value from</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an empty #GValue to set</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="is_first"
-              c:identifier="clutter_model_iter_is_first"
-              version="0.6">
-        <doc xml:whitespace="preserve">Gets whether the current iterator is at the beginning of the model
-to which it belongs.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">#TRUE if @iter is the first iter in the filtered model</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="is_last"
-              c:identifier="clutter_model_iter_is_last"
-              version="0.6">
-        <doc xml:whitespace="preserve">Gets whether the iterator is at the end of the model to which it
-belongs.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">#TRUE if @iter is the last iter in the filtered model.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="next" c:identifier="clutter_model_iter_next" version="0.6">
-        <doc xml:whitespace="preserve">Updates the @iter to point at the next position in the model.
-The model implementation should take into account the presence of
-a filter function.
-row in the model.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The passed iterator, updated to point at the next</doc>
-          <type name="ModelIter" c:type="ClutterModelIter*"/>
-        </return-value>
-      </method>
-      <method name="prev" c:identifier="clutter_model_iter_prev" version="0.6">
-        <doc xml:whitespace="preserve">Sets the @iter to point at the previous position in the model.
-The model implementation should take into account the presence of
-a filter function.
-row in the model.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The passed iterator, updated to point at the previous</doc>
-          <type name="ModelIter" c:type="ClutterModelIter*"/>
-        </return-value>
-      </method>
-      <method name="set"
-              c:identifier="clutter_model_iter_set"
-              version="0.6"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Sets the value of one or more cells in the row referenced by @iter. The
-variable argument list should contain integer column numbers, each column
-column number followed by the value to be set. The  list is terminated by a
--1.
-For example, to set column 0 with type %G_TYPE_STRING, use:
-&lt;informalexample&gt;&lt;programlisting&gt;
-clutter_model_iter_set (iter, 0, "foo", -1);
-&lt;/programlisting&gt;&lt;/informalexample&gt;</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_valist"
-              c:identifier="clutter_model_iter_set_valist"
-              version="0.6"
-              introspectable="0">
-        <doc xml:whitespace="preserve">See clutter_model_iter_set(); this version takes a va_list for language
-bindings.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="args" transfer-ownership="none">
-            <doc xml:whitespace="preserve">va_list of column/value pairs, terminiated by -1</doc>
-            <type name="va_list" c:type="va_list"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_value"
-              c:identifier="clutter_model_iter_set_value"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sets the data in the cell specified by @iter and @column. The type of</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">column number to retrieve the value from</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">new value for the cell</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="model"
-                version="0.6"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">A reference to the #ClutterModel that this iter belongs to.</doc>
-        <type name="Model"/>
-      </property>
-      <property name="row"
-                version="0.6"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The row number to which this iter points to.</doc>
-        <type name="guint"/>
-      </property>
-      <field name="parent_instance">
-        <type name="GObject.Object" c:type="GObject"/>
-      </field>
-      <field name="priv">
-        <type name="ModelIterPrivate" c:type="ClutterModelIterPrivate*"/>
-      </field>
-    </class>
-    <record name="ModelIterClass"
-            c:type="ClutterModelIterClass"
-            glib:is-gtype-struct-for="ModelIter"
-            version="0.6">
-      <doc xml:whitespace="preserve">Class for #ClutterModelIter instances.</doc>
-      <field name="parent_class">
-        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
-      </field>
-      <field name="get_value">
-        <callback name="get_value">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="iter" transfer-ownership="none">
-              <type name="ModelIter" c:type="ClutterModelIter*"/>
-            </parameter>
-            <parameter name="column" transfer-ownership="none">
-              <doc xml:whitespace="preserve">column number to retrieve the value from</doc>
-              <type name="guint" c:type="guint"/>
-            </parameter>
-            <parameter name="value" transfer-ownership="none">
-              <doc xml:whitespace="preserve">an empty #GValue to set</doc>
-              <type name="GObject.Value" c:type="GValue*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="set_value">
-        <callback name="set_value">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="iter" transfer-ownership="none">
-              <type name="ModelIter" c:type="ClutterModelIter*"/>
-            </parameter>
-            <parameter name="column" transfer-ownership="none">
-              <doc xml:whitespace="preserve">column number to retrieve the value from</doc>
-              <type name="guint" c:type="guint"/>
-            </parameter>
-            <parameter name="value" transfer-ownership="none">
-              <doc xml:whitespace="preserve">new value for the cell</doc>
-              <type name="GObject.Value" c:type="GValue*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="is_first">
-        <callback name="is_first">
-          <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">#TRUE if @iter is the first iter in the filtered model</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="iter" transfer-ownership="none">
-              <type name="ModelIter" c:type="ClutterModelIter*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="is_last">
-        <callback name="is_last">
-          <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">#TRUE if @iter is the last iter in the filtered model.</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="iter" transfer-ownership="none">
-              <type name="ModelIter" c:type="ClutterModelIter*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="next">
-        <callback name="next">
-          <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">The passed iterator, updated to point at the next</doc>
-            <type name="ModelIter" c:type="ClutterModelIter*"/>
-          </return-value>
-          <parameters>
-            <parameter name="iter" transfer-ownership="none">
-              <type name="ModelIter" c:type="ClutterModelIter*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="prev">
-        <callback name="prev">
-          <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">The passed iterator, updated to point at the previous</doc>
-            <type name="ModelIter" c:type="ClutterModelIter*"/>
-          </return-value>
-          <parameters>
-            <parameter name="iter" transfer-ownership="none">
-              <type name="ModelIter" c:type="ClutterModelIter*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="get_model">
-        <callback name="get_model">
-          <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">a pointer to a #ClutterModel.</doc>
-            <type name="Model" c:type="ClutterModel*"/>
-          </return-value>
-          <parameters>
-            <parameter name="iter" transfer-ownership="none">
-              <type name="ModelIter" c:type="ClutterModelIter*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="get_row">
-        <callback name="get_row">
-          <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">the position of the @iter in the model</doc>
-            <type name="guint" c:type="guint"/>
-          </return-value>
-          <parameters>
-            <parameter name="iter" transfer-ownership="none">
-              <type name="ModelIter" c:type="ClutterModelIter*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="copy">
-        <callback name="copy">
-          <return-value transfer-ownership="full">
-            <doc xml:whitespace="preserve">a copy of the iterator, or %NULL</doc>
-            <type name="ModelIter" c:type="ClutterModelIter*"/>
-          </return-value>
-          <parameters>
-            <parameter name="iter" transfer-ownership="none">
-              <type name="ModelIter" c:type="ClutterModelIter*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_clutter_model_iter_1" introspectable="0">
-        <callback name="_clutter_model_iter_1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_model_iter_2" introspectable="0">
-        <callback name="_clutter_model_iter_2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_model_iter_3" introspectable="0">
-        <callback name="_clutter_model_iter_3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_model_iter_4" introspectable="0">
-        <callback name="_clutter_model_iter_4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_model_iter_5" introspectable="0">
-        <callback name="_clutter_model_iter_5">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_model_iter_6" introspectable="0">
-        <callback name="_clutter_model_iter_6">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_model_iter_7" introspectable="0">
-        <callback name="_clutter_model_iter_7">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_model_iter_8" introspectable="0">
-        <callback name="_clutter_model_iter_8">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <record name="ModelIterPrivate"
-            c:type="ClutterModelIterPrivate"
-            disguised="1">
-    </record>
-    <record name="ModelPrivate" c:type="ClutterModelPrivate" disguised="1">
-    </record>
-    <callback name="ModelSortFunc" c:type="ClutterModelSortFunc" version="0.6">
-      <doc xml:whitespace="preserve">Compares the content of two rows in the model.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">a positive integer if @a is after @b, a negative integer if</doc>
-        <type name="gint" c:type="gint"/>
-      </return-value>
-      <parameters>
-        <parameter name="model" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterModel</doc>
-          <type name="Model" c:type="ClutterModel*"/>
-        </parameter>
-        <parameter name="a" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue representing the contents of the row</doc>
-          <type name="GObject.Value" c:type="GValue*"/>
-        </parameter>
-        <parameter name="b" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue representing the contents of the second row</doc>
-          <type name="GObject.Value" c:type="GValue*"/>
-        </parameter>
-        <parameter name="user_data" transfer-ownership="none" closure="3">
-          <doc xml:whitespace="preserve">data passed to clutter_model_set_sort()</doc>
-          <type name="gpointer" c:type="gpointer"/>
-        </parameter>
-      </parameters>
-    </callback>
-    <bitfield name="ModifierType"
-              version="0.4"
-              glib:type-name="ClutterModifierType"
-              glib:get-type="clutter_modifier_type_get_type"
-              c:type="ClutterModifierType">
-      <doc xml:whitespace="preserve">Masks applied to a #ClutterEvent by modifiers.</doc>
-      <member name="shift_mask"
-              value="1"
-              c:identifier="CLUTTER_SHIFT_MASK"
-              glib:nick="shift-mask"/>
-      <member name="lock_mask"
-              value="2"
-              c:identifier="CLUTTER_LOCK_MASK"
-              glib:nick="lock-mask"/>
-      <member name="control_mask"
-              value="4"
-              c:identifier="CLUTTER_CONTROL_MASK"
-              glib:nick="control-mask"/>
-      <member name="mod1_mask"
-              value="8"
-              c:identifier="CLUTTER_MOD1_MASK"
-              glib:nick="mod1-mask"/>
-      <member name="mod2_mask"
-              value="16"
-              c:identifier="CLUTTER_MOD2_MASK"
-              glib:nick="mod2-mask"/>
-      <member name="mod3_mask"
-              value="32"
-              c:identifier="CLUTTER_MOD3_MASK"
-              glib:nick="mod3-mask"/>
-      <member name="mod4_mask"
-              value="64"
-              c:identifier="CLUTTER_MOD4_MASK"
-              glib:nick="mod4-mask"/>
-      <member name="mod5_mask"
-              value="128"
-              c:identifier="CLUTTER_MOD5_MASK"
-              glib:nick="mod5-mask"/>
-      <member name="button1_mask"
-              value="256"
-              c:identifier="CLUTTER_BUTTON1_MASK"
-              glib:nick="button1-mask"/>
-      <member name="button2_mask"
-              value="512"
-              c:identifier="CLUTTER_BUTTON2_MASK"
-              glib:nick="button2-mask"/>
-      <member name="button3_mask"
-              value="1024"
-              c:identifier="CLUTTER_BUTTON3_MASK"
-              glib:nick="button3-mask"/>
-      <member name="button4_mask"
-              value="2048"
-              c:identifier="CLUTTER_BUTTON4_MASK"
-              glib:nick="button4-mask"/>
-      <member name="button5_mask"
-              value="4096"
-              c:identifier="CLUTTER_BUTTON5_MASK"
-              glib:nick="button5-mask"/>
-      <member name="super_mask"
-              value="67108864"
-              c:identifier="CLUTTER_SUPER_MASK"
-              glib:nick="super-mask"/>
-      <member name="hyper_mask"
-              value="134217728"
-              c:identifier="CLUTTER_HYPER_MASK"
-              glib:nick="hyper-mask"/>
-      <member name="meta_mask"
-              value="268435456"
-              c:identifier="CLUTTER_META_MASK"
-              glib:nick="meta-mask"/>
-      <member name="release_mask"
-              value="1073741824"
-              c:identifier="CLUTTER_RELEASE_MASK"
-              glib:nick="release-mask"/>
-      <member name="modifier_mask"
-              value="1543512063"
-              c:identifier="CLUTTER_MODIFIER_MASK"
-              glib:nick="modifier-mask"/>
-    </bitfield>
-    <constant name="MonBrightnessDown" value="269025027">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="MonBrightnessUp" value="269025026">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <record name="MotionEvent" c:type="ClutterMotionEvent" version="0.2">
-      <doc xml:whitespace="preserve">Event for the pointer motion</doc>
-      <field name="type" writable="1">
-        <type name="EventType" c:type="ClutterEventType"/>
-      </field>
-      <field name="time" writable="1">
-        <type name="guint32" c:type="guint32"/>
-      </field>
-      <field name="flags" writable="1">
-        <type name="EventFlags" c:type="ClutterEventFlags"/>
-      </field>
-      <field name="stage" writable="1">
-        <type name="Stage" c:type="ClutterStage*"/>
-      </field>
-      <field name="source" writable="1">
-        <type name="Actor" c:type="ClutterActor*"/>
-      </field>
-      <field name="x" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-      <field name="y" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-      <field name="modifier_state" writable="1">
-        <type name="ModifierType" c:type="ClutterModifierType"/>
-      </field>
-      <field name="axes" writable="1">
-        <type name="gdouble" c:type="gdouble*"/>
-      </field>
-      <field name="device" writable="1">
-        <type name="InputDevice" c:type="ClutterInputDevice*"/>
-      </field>
-    </record>
-    <constant name="MouseKeys_Accel_Enable" value="65143">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="MouseKeys_Enable" value="65142">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Muhenkan" value="65314">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Multi_key" value="65312">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="MultipleCandidate" value="65341">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Music" value="269025170">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="MyComputer" value="269025075">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="MySites" value="269025127">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="N" value="78">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Nacute" value="465">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="NairaSign" value="16785574">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ncaron" value="466">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ncedilla" value="977">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="New" value="269025128">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="NewSheqelSign" value="16785578">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="News" value="269025129">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Next" value="65366">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Next_VMode" value="269024802">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Next_Virtual_Screen" value="65234">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ntilde" value="209">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Num_Lock" value="65407">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="O" value="79">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="OE" value="5052">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Oacute" value="211">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Obarred" value="16777631">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Obelowdot" value="16785100">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ocaron" value="16777681">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ocircumflex" value="212">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ocircumflexacute" value="16785104">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ocircumflexbelowdot" value="16785112">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ocircumflexgrave" value="16785106">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ocircumflexhook" value="16785108">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ocircumflextilde" value="16785110">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Odiaeresis" value="214">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Odoubleacute" value="469">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="OfficeHome" value="269025130">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="OffscreenEffect"
-           c:symbol-prefix="offscreen_effect"
-           c:type="ClutterOffscreenEffect"
-           version="1.4"
-           parent="Effect"
-           abstract="1"
-           glib:type-name="ClutterOffscreenEffect"
-           glib:get-type="clutter_offscreen_effect_get_type"
-           glib:type-struct="OffscreenEffectClass">
-      <doc xml:whitespace="preserve">The #ClutterOffscreenEffect structure contains only private data
-and should be accessed using the provided API</doc>
-      <virtual-method name="create_texture"
-                      invoker="create_texture"
-                      version="1.4">
-        <doc xml:whitespace="preserve">Calls the create_texture() virtual function of the @effect
-%COGL_INVALID_HANDLE. The returned handle has its reference
-count increased.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a handle to a Cogl texture, or</doc>
-          <type name="Cogl.Handle" c:type="CoglHandle"/>
-        </return-value>
-        <parameters>
-          <parameter name="min_width" transfer-ownership="none">
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="min_height" transfer-ownership="none">
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="paint_target" invoker="paint_target" version="1.4">
-        <doc xml:whitespace="preserve">Calls the paint_target() virtual function of the @effect</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </virtual-method>
-      <method name="create_texture"
-              c:identifier="clutter_offscreen_effect_create_texture"
-              version="1.4">
-        <doc xml:whitespace="preserve">Calls the create_texture() virtual function of the @effect
-%COGL_INVALID_HANDLE. The returned handle has its reference
-count increased.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a handle to a Cogl texture, or</doc>
-          <type name="Cogl.Handle" c:type="CoglHandle"/>
-        </return-value>
-        <parameters>
-          <parameter name="width" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the minimum width of the target texture</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="height" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the minimum height of the target texture</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_target"
-              c:identifier="clutter_offscreen_effect_get_target"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the material used as a render target for the offscreen
-buffer created by @effect
-You should only use the returned #CoglMaterial when painting. The
-returned material might change between different frames.
-returned material is owned by Clutter and it should not be
-modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglMaterial or %NULL. The</doc>
-          <type name="Cogl.Material" c:type="CoglMaterial*"/>
-        </return-value>
-      </method>
-      <method name="paint_target"
-              c:identifier="clutter_offscreen_effect_paint_target"
-              version="1.4">
-        <doc xml:whitespace="preserve">Calls the paint_target() virtual function of the @effect</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <field name="parent_instance">
-        <type name="Effect" c:type="ClutterEffect"/>
-      </field>
-      <field name="priv">
-        <type name="OffscreenEffectPrivate"
-              c:type="ClutterOffscreenEffectPrivate*"/>
-      </field>
-    </class>
-    <record name="OffscreenEffectClass"
-            c:type="ClutterOffscreenEffectClass"
-            glib:is-gtype-struct-for="OffscreenEffect"
-            version="1.4">
-      <doc xml:whitespace="preserve">The #ClutterOffscreenEffectClass structure contains only private data</doc>
-      <field name="parent_class">
-        <type name="EffectClass" c:type="ClutterEffectClass"/>
-      </field>
-      <field name="create_texture">
-        <callback name="create_texture">
-          <return-value transfer-ownership="full">
-            <doc xml:whitespace="preserve">a handle to a Cogl texture, or</doc>
-            <type name="Cogl.Handle" c:type="CoglHandle"/>
-          </return-value>
-          <parameters>
-            <parameter name="effect" transfer-ownership="none">
-              <type name="OffscreenEffect" c:type="ClutterOffscreenEffect*"/>
-            </parameter>
-            <parameter name="min_width" transfer-ownership="none">
-              <type name="gfloat" c:type="gfloat"/>
-            </parameter>
-            <parameter name="min_height" transfer-ownership="none">
-              <type name="gfloat" c:type="gfloat"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="paint_target">
-        <callback name="paint_target">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="effect" transfer-ownership="none">
-              <type name="OffscreenEffect" c:type="ClutterOffscreenEffect*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_clutter_offscreen1" introspectable="0">
-        <callback name="_clutter_offscreen1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_offscreen2" introspectable="0">
-        <callback name="_clutter_offscreen2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_offscreen3" introspectable="0">
-        <callback name="_clutter_offscreen3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_offscreen4" introspectable="0">
-        <callback name="_clutter_offscreen4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_offscreen5" introspectable="0">
-        <callback name="_clutter_offscreen5">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_offscreen6" introspectable="0">
-        <callback name="_clutter_offscreen6">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_offscreen7" introspectable="0">
-        <callback name="_clutter_offscreen7">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <record name="OffscreenEffectPrivate"
-            c:type="ClutterOffscreenEffectPrivate"
-            disguised="1">
-    </record>
-    <constant name="Ograve" value="210">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ohook" value="16785102">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ohorn" value="16777632">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ohornacute" value="16785114">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ohornbelowdot" value="16785122">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ohorngrave" value="16785116">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ohornhook" value="16785118">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ohorntilde" value="16785120">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Omacron" value="978">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ooblique" value="216">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Open" value="269025131">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="OpenURL" value="269025080">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Option" value="269025132">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Oslash" value="216">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Otilde" value="213">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Overlay1_Enable" value="65144">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Overlay2_Enable" value="65145">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="P" value="80">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="PATH_RELATIVE" value="32">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="PRIORITY_REDRAW" value="50">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pabovedot" value="16784982">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="PageTurnEffect"
-           c:symbol-prefix="page_turn_effect"
-           c:type="ClutterPageTurnEffect"
-           version="1.4"
-           parent="DeformEffect"
-           glib:type-name="ClutterPageTurnEffect"
-           glib:get-type="clutter_page_turn_effect_get_type">
-      <doc xml:whitespace="preserve">&lt;structname&gt;ClutterPageTurnEffect&lt;/structname&gt; is an opaque structure
-whose members can only be accessed using the provided API</doc>
-      <constructor name="new"
-                   c:identifier="clutter_page_turn_effect_new"
-                   version="1.4">
-        <doc xml:whitespace="preserve">Creates a new #ClutterPageTurnEffect instance with the given parameters</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #ClutterPageTurnEffect</doc>
-          <type name="Effect" c:type="ClutterEffect*"/>
-        </return-value>
-        <parameters>
-          <parameter name="period" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the period of the page curl, between 0.0 and 1.0</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="angle" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the angle of the page curl, between 0.0 and 360.0</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="radius" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the radius of the page curl, in pixels</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="get_angle"
-              c:identifier="clutter_page_turn_effect_get_angle"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the value set using clutter_page_turn_effect_get_angle()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the angle of the page curling</doc>
-          <type name="gdouble" c:type="gdouble"/>
-        </return-value>
-      </method>
-      <method name="get_period"
-              c:identifier="clutter_page_turn_effect_get_period"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the value set using clutter_page_turn_effect_get_period()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the period of the page curling</doc>
-          <type name="gdouble" c:type="gdouble"/>
-        </return-value>
-      </method>
-      <method name="get_radius"
-              c:identifier="clutter_page_turn_effect_get_radius"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the value set using clutter_page_turn_effect_set_radius()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the radius of the page curling</doc>
-          <type name="gfloat" c:type="gfloat"/>
-        </return-value>
-      </method>
-      <method name="set_angle"
-              c:identifier="clutter_page_turn_effect_set_angle"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the angle of the page curling, in degrees</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="angle" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the angle of the page curl, in degrees</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_period"
-              c:identifier="clutter_page_turn_effect_set_period"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the period of the page curling, between 0.0 (no curling)
-and 1.0 (fully curled)</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="period" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the period of the page curl, between 0.0 and 1.0</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_radius"
-              c:identifier="clutter_page_turn_effect_set_radius"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the radius of the page curling</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="radius" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the radius of the page curling, in pixels</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="angle"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The angle of the page rotation, in degrees, between 0.0 and 360.0</doc>
-        <type name="gdouble"/>
-      </property>
-      <property name="period"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The period of the page turn, between 0.0 (no curling) and
-1.0 (fully curled)</doc>
-        <type name="gdouble"/>
-      </property>
-      <property name="radius"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The radius of the page curl, in pixels</doc>
-        <type name="gfloat"/>
-      </property>
-    </class>
-    <constant name="Page_Down" value="65366">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Page_Up" value="65365">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="ParamSpecColor"
-           c:symbol-prefix="param_color"
-           c:type="ClutterParamSpecColor"
-           version="1.0"
-           glib:type-name="ClutterParamSpecColor"
-           glib:get-type="clutter_param_color_get_type"
-           glib:fundamental="1">
-      <doc xml:whitespace="preserve">A #GParamSpec subclass for defining properties holding
-a #ClutterColor.</doc>
-      <field name="parent_instance">
-        <type name="GObject.ParamSpec" c:type="GParamSpec"/>
-      </field>
-      <field name="default_value">
-        <type name="Color" c:type="ClutterColor*"/>
-      </field>
-    </class>
-    <class name="ParamSpecFixed"
-           c:symbol-prefix="param_fixed"
-           c:type="ClutterParamSpecFixed"
-           glib:type-name="ClutterParamSpecFixed"
-           glib:get-type="clutter_param_fixed_get_type"
-           glib:fundamental="1">
-      <field name="parent_instance">
-        <type name="GObject.ParamSpec" c:type="GParamSpec"/>
-      </field>
-      <field name="minimum">
-        <type name="Cogl.Fixed" c:type="CoglFixed"/>
-      </field>
-      <field name="maximum">
-        <type name="Cogl.Fixed" c:type="CoglFixed"/>
-      </field>
-      <field name="default_value">
-        <type name="Cogl.Fixed" c:type="CoglFixed"/>
-      </field>
-    </class>
-    <class name="ParamSpecUnit"
-           c:symbol-prefix="param_units"
-           glib:type-name="ClutterParamSpecUnit"
-           glib:get-type="clutter_param_units_get_type"
-           glib:fundamental="1">
-    </class>
-    <record name="ParamSpecUnits" c:type="ClutterParamSpecUnits" version="1.0">
-      <doc xml:whitespace="preserve">#GParamSpec subclass for unit based properties.</doc>
-      <field name="parent_instance" writable="1">
-        <type name="GObject.ParamSpec" c:type="GParamSpec"/>
-      </field>
-      <field name="default_type" writable="1">
-        <type name="UnitType" c:type="ClutterUnitType"/>
-      </field>
-      <field name="default_value" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-      <field name="minimum" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-      <field name="maximum" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-    </record>
-    <constant name="Paste" value="269025133">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="Path"
-           c:symbol-prefix="path"
-           c:type="ClutterPath"
-           version="1.0"
-           parent="GObject.InitiallyUnowned"
-           glib:type-name="ClutterPath"
-           glib:get-type="clutter_path_get_type"
-           glib:type-struct="PathClass">
-      <doc xml:whitespace="preserve">The #ClutterPath struct contains only private data and should
-be accessed with the functions below.</doc>
-      <constructor name="new" c:identifier="clutter_path_new" version="1.0">
-        <doc xml:whitespace="preserve">Creates a new #ClutterPath instance with no nodes.
-The object has a floating reference so if you add it to a
-#ClutterBehaviourPath then you do not need to unref it.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #ClutterPath</doc>
-          <type name="Path" c:type="ClutterPath*"/>
-        </return-value>
-      </constructor>
-      <constructor name="new_with_description"
-                   c:identifier="clutter_path_new_with_description"
-                   version="1.0">
-        <doc xml:whitespace="preserve">Creates a new #ClutterPath instance with the nodes described in
-the string.
-The object has a floating reference so if you add it to a
-#ClutterBehaviourPath then you do not need to unref it.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #ClutterPath</doc>
-          <type name="Path" c:type="ClutterPath*"/>
-        </return-value>
-        <parameters>
-          <parameter name="desc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string describing the path</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="add_cairo_path"
-              c:identifier="clutter_path_add_cairo_path"
-              version="1.0">
-        <doc xml:whitespace="preserve">Add the nodes of the Cairo path to the end of @path.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="cpath" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a Cairo path</doc>
-            <type name="cairo.Path" c:type="cairo_path_t*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="add_close"
-              c:identifier="clutter_path_add_close"
-              version="1.0">
-        <doc xml:whitespace="preserve">Adds a %CLUTTER_PATH_CLOSE type node to the path. This creates a
-straight line from the last node to the last %CLUTTER_PATH_MOVE_TO
-type node.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="add_curve_to"
-              c:identifier="clutter_path_add_curve_to"
-              version="1.0">
-        <doc xml:whitespace="preserve">Adds a %CLUTTER_PATH_CURVE_TO type node to the path. This causes
-the actor to follow a bezier from the last node to (@x_3, @y_3) using
-(@x_1, @y_1) and (@x_2,@y_2) as control points.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x_1" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the x coordinate of the first control point</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="y_1" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the y coordinate of the first control point</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="x_2" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the x coordinate of the second control point</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="y_2" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the y coordinate of the second control point</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="x_3" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the x coordinate of the third control point</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="y_3" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the y coordinate of the third control point</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="add_line_to"
-              c:identifier="clutter_path_add_line_to"
-              version="1.0">
-        <doc xml:whitespace="preserve">Adds a %CLUTTER_PATH_LINE_TO type node to the path. This causes the
-actor to move to the new coordinates in a straight line.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the x coordinate</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the y coordinate</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="add_move_to"
-              c:identifier="clutter_path_add_move_to"
-              version="1.0">
-        <doc xml:whitespace="preserve">Adds a %CLUTTER_PATH_MOVE_TO type node to the path. This is usually
-used as the first node in a path. It can also be used in the middle
-of the path to cause the actor to jump to the new coordinate.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the x coordinate</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the y coordinate</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="add_node"
-              c:identifier="clutter_path_add_node"
-              version="1.0">
-        <doc xml:whitespace="preserve">Adds @node to the end of the path.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterPathNode</doc>
-            <type name="PathNode" c:type="ClutterPathNode*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="add_rel_curve_to"
-              c:identifier="clutter_path_add_rel_curve_to"
-              version="1.0">
-        <doc xml:whitespace="preserve">Same as clutter_path_add_curve_to() except the coordinates are
-relative to the previous node.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x_1" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the x coordinate of the first control point</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="y_1" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the y coordinate of the first control point</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="x_2" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the x coordinate of the second control point</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="y_2" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the y coordinate of the second control point</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="x_3" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the x coordinate of the third control point</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="y_3" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the y coordinate of the third control point</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="add_rel_line_to"
-              c:identifier="clutter_path_add_rel_line_to"
-              version="1.0">
-        <doc xml:whitespace="preserve">Same as clutter_path_add_line_to() except the coordinates are
-relative to the previous node.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the x coordinate</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the y coordinate</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="add_rel_move_to"
-              c:identifier="clutter_path_add_rel_move_to"
-              version="1.0">
-        <doc xml:whitespace="preserve">Same as clutter_path_add_move_to() except the coordinates are
-relative to the previous node.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the x coordinate</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the y coordinate</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="add_string"
-              c:identifier="clutter_path_add_string"
-              version="1.0">
-        <doc xml:whitespace="preserve">Adds new nodes to the end of the path as described in @str. The
-format is a subset of the SVG path format. Each node is represented
-by a letter and is followed by zero, one or three pairs of
-coordinates. The coordinates can be separated by spaces or a
-comma. The types are:
-&lt;variablelist&gt;
-&lt;varlistentry&gt;&lt;term&gt;M&lt;/term&gt;
-&lt;listitem&gt;&lt;para&gt;
-Adds a %CLUTTER_PATH_MOVE_TO node. Takes one pair of coordinates.
-&lt;/para&gt;&lt;/listitem&gt;&lt;/varlistentry&gt;
-&lt;varlistentry&gt;&lt;term&gt;L&lt;/term&gt;
-&lt;listitem&gt;&lt;para&gt;
-Adds a %CLUTTER_PATH_LINE_TO node. Takes one pair of coordinates.
-&lt;/para&gt;&lt;/listitem&gt;&lt;/varlistentry&gt;
-&lt;varlistentry&gt;&lt;term&gt;C&lt;/term&gt;
-&lt;listitem&gt;&lt;para&gt;
-Adds a %CLUTTER_PATH_CURVE_TO node. Takes three pairs of coordinates.
-&lt;/para&gt;&lt;/listitem&gt;&lt;/varlistentry&gt;
-&lt;varlistentry&gt;&lt;term&gt;z&lt;/term&gt;
-&lt;listitem&gt;&lt;para&gt;
-Adds a %CLUTTER_PATH_CLOSE node. No coordinates are needed.
-&lt;/para&gt;&lt;/listitem&gt;&lt;/varlistentry&gt;
-&lt;/variablelist&gt;
-The M, L and C commands can also be specified in lower case which
-means the coordinates are relative to the previous node.
-For example, to move an actor in a 100 by 100 pixel square centered
-on the point 300,300 you could use the following path:
-&lt;informalexample&gt;
-&lt;programlisting&gt;
-M 250,350 l 0 -100 L 350,250 l 0 100 z
-&lt;/programlisting&gt;
-&lt;/informalexample&gt;
-If the path description isn't valid %FALSE will be returned and no
-nodes will be added.
-otherwise.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE is the path description was valid or %FALSE</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="str" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string describing the new nodes</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="clear" c:identifier="clutter_path_clear" version="1.0">
-        <doc xml:whitespace="preserve">Removes all nodes from the path.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="foreach" c:identifier="clutter_path_foreach" version="1.0">
-        <doc xml:whitespace="preserve">Calls a function for each node of the path.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="callback"
-                     transfer-ownership="none"
-                     scope="call"
-                     closure="1">
-            <doc xml:whitespace="preserve">the function to call with each node</doc>
-            <type name="PathCallback" c:type="ClutterPathCallback"/>
-          </parameter>
-          <parameter name="user_data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">user data to pass to the function</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_description"
-              c:identifier="clutter_path_get_description"
-              version="1.0">
-        <doc xml:whitespace="preserve">Returns a newly allocated string describing the path in the same
-format as used by clutter_path_add_string().</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a string description of the path. Free with g_free().</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-      <method name="get_length"
-              c:identifier="clutter_path_get_length"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves an approximation of the total length of the path.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the length of the path.</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_n_nodes"
-              c:identifier="clutter_path_get_n_nodes"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the number of nodes in the path.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of nodes.</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_node"
-              c:identifier="clutter_path_get_node"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the node of the path indexed by @index.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="index_" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the node number to retrieve</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a location to store a copy of the node</doc>
-            <type name="PathNode" c:type="ClutterPathNode*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_nodes"
-              c:identifier="clutter_path_get_nodes"
-              version="1.0">
-        <doc xml:whitespace="preserve">Returns a #GSList of #ClutterPathNode&lt;!-- --&gt;s. The list should be
-freed with g_slist_free(). The nodes are owned by the path and
-should not be freed. Altering the path may cause the nodes in the
-list to become invalid so you should copy them if you want to keep
-the list.
-list of nodes in the path.</doc>
-        <return-value transfer-ownership="container">
-          <doc xml:whitespace="preserve">a</doc>
-          <type name="GLib.SList" c:type="GSList*">
-            <type name="PathNode"/>
-          </type>
-        </return-value>
-      </method>
-      <method name="get_position"
-              c:identifier="clutter_path_get_position"
-              version="1.0">
-        <doc xml:whitespace="preserve">The value in @progress represents a position along the path where
-0.0 is the beginning and 1.0 is the end of the path. An
-interpolated position is then stored in @position.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">index of the node used to calculate the position.</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-        <parameters>
-          <parameter name="progress" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a position along the path as a fraction of its length</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="position" transfer-ownership="none">
-            <doc xml:whitespace="preserve">location to store the position</doc>
-            <type name="Knot" c:type="ClutterKnot*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="insert_node"
-              c:identifier="clutter_path_insert_node"
-              version="1.0">
-        <doc xml:whitespace="preserve">Inserts @node into the path before the node at the given offset. If</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="index_" transfer-ownership="none">
-            <doc xml:whitespace="preserve">offset of where to insert the node</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the node to insert</doc>
-            <type name="PathNode" c:type="ClutterPathNode*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="remove_node"
-              c:identifier="clutter_path_remove_node"
-              version="1.0">
-        <doc xml:whitespace="preserve">Removes the node at the given offset from the path.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="index_" transfer-ownership="none">
-            <doc xml:whitespace="preserve">index of the node to remove</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="replace_node"
-              c:identifier="clutter_path_replace_node"
-              version="1.0">
-        <doc xml:whitespace="preserve">Replaces the node at offset @index_ with @node.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="index_" transfer-ownership="none">
-            <doc xml:whitespace="preserve">index to the existing node</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the replacement node</doc>
-            <type name="PathNode" c:type="ClutterPathNode*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_description"
-              c:identifier="clutter_path_set_description"
-              version="1.0">
-        <doc xml:whitespace="preserve">Replaces all of the nodes in the path with nodes described by
-If the string is invalid then %FALSE is returned and the path is
-unaltered.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE is the path was valid, %FALSE otherwise.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="str" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string describing the path</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="to_cairo_path"
-              c:identifier="clutter_path_to_cairo_path"
-              version="1.0">
-        <doc xml:whitespace="preserve">Add the nodes of the ClutterPath to the path in the Cairo context.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="cr" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a Cairo context</doc>
-            <type name="cairo.Context" c:type="cairo_t*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="description" writable="1" transfer-ownership="none">
-        <type name="utf8"/>
-      </property>
-      <property name="length" transfer-ownership="none">
-        <type name="guint"/>
-      </property>
-      <field name="parent">
-        <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
-      </field>
-      <field name="priv">
-        <type name="PathPrivate" c:type="ClutterPathPrivate*"/>
-      </field>
-    </class>
-    <callback name="PathCallback" c:type="ClutterPathCallback" version="1.0">
-      <doc xml:whitespace="preserve">This function is passed to clutter_path_foreach() and will be
-called for each node contained in the path.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="node" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the node</doc>
-          <type name="PathNode" c:type="ClutterPathNode*"/>
-        </parameter>
-        <parameter name="data" transfer-ownership="none">
-          <doc xml:whitespace="preserve">optional data passed to the function</doc>
-          <type name="gpointer" c:type="gpointer"/>
-        </parameter>
-      </parameters>
-    </callback>
-    <record name="PathClass"
-            c:type="ClutterPathClass"
-            glib:is-gtype-struct-for="Path"
-            version="1.0">
-      <doc xml:whitespace="preserve">The #ClutterPathClass struct contains only private data.</doc>
-      <field name="parent_class">
-        <type name="GObject.InitiallyUnownedClass"
-              c:type="GInitiallyUnownedClass"/>
-      </field>
-    </record>
-    <record name="PathNode"
-            c:type="ClutterPathNode"
-            version="1.0"
-            glib:type-name="ClutterPathNode"
-            glib:get-type="clutter_path_node_get_type"
-            c:symbol-prefix="path_node">
-      <doc xml:whitespace="preserve">Represents a single node of a #ClutterPath.
-Some of the coordinates in @points may be unused for some node
-types. %CLUTTER_PATH_MOVE_TO and %CLUTTER_PATH_LINE_TO use only one
-pair of coordinates, %CLUTTER_PATH_CURVE_TO uses all three and
-%CLUTTER_PATH_CLOSE uses none.</doc>
-      <field name="type" writable="1">
-        <type name="PathNodeType" c:type="ClutterPathNodeType"/>
-      </field>
-      <field name="points" writable="1">
-        <array zero-terminated="0" c:type="ClutterKnot" fixed-size="3">
-          <type name="Knot" c:type="ClutterKnot"/>
-        </array>
-      </field>
-      <method name="copy" c:identifier="clutter_path_node_copy" version="1.0">
-        <doc xml:whitespace="preserve">Makes an allocated copy of a node.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the copied node.</doc>
-          <type name="PathNode" c:type="ClutterPathNode*"/>
-        </return-value>
-      </method>
-      <method name="equal"
-              c:identifier="clutter_path_node_equal"
-              version="1.0">
-        <doc xml:whitespace="preserve">Compares two nodes and checks if they are the same type with the
-same coordinates.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the nodes are the same.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="node_b" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Second node</doc>
-            <type name="PathNode" c:type="ClutterPathNode*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="free" c:identifier="clutter_path_node_free" version="1.0">
-        <doc xml:whitespace="preserve">Frees the memory of an allocated node.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-    </record>
-    <enumeration name="PathNodeType"
-                 version="1.0"
-                 glib:type-name="ClutterPathNodeType"
-                 glib:get-type="clutter_path_node_type_get_type"
-                 c:type="ClutterPathNodeType">
-      <doc xml:whitespace="preserve">Types of nodes in a #ClutterPath.</doc>
-      <member name="move_to"
-              value="0"
-              c:identifier="CLUTTER_PATH_MOVE_TO"
-              glib:nick="move-to"/>
-      <member name="line_to"
-              value="1"
-              c:identifier="CLUTTER_PATH_LINE_TO"
-              glib:nick="line-to"/>
-      <member name="curve_to"
-              value="2"
-              c:identifier="CLUTTER_PATH_CURVE_TO"
-              glib:nick="curve-to"/>
-      <member name="close"
-              value="3"
-              c:identifier="CLUTTER_PATH_CLOSE"
-              glib:nick="close"/>
-      <member name="rel_move_to"
-              value="32"
-              c:identifier="CLUTTER_PATH_REL_MOVE_TO"
-              glib:nick="rel-move-to"/>
-      <member name="rel_line_to"
-              value="33"
-              c:identifier="CLUTTER_PATH_REL_LINE_TO"
-              glib:nick="rel-line-to"/>
-      <member name="rel_curve_to"
-              value="34"
-              c:identifier="CLUTTER_PATH_REL_CURVE_TO"
-              glib:nick="rel-curve-to"/>
-    </enumeration>
-    <record name="PathPrivate" c:type="ClutterPathPrivate" disguised="1">
-    </record>
-    <constant name="Pause" value="65299">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <record name="Perspective"
-            c:type="ClutterPerspective"
-            version="0.4"
-            glib:type-name="ClutterPerspective"
-            glib:get-type="clutter_perspective_get_type"
-            c:symbol-prefix="perspective">
-      <doc xml:whitespace="preserve">Stage perspective definition. #ClutterPerspective is only used by
-the fixed point version of clutter_stage_set_perspective().</doc>
-      <field name="fovy" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-      <field name="aspect" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-      <field name="z_near" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-      <field name="z_far" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-    </record>
-    <constant name="PesetaSign" value="16785575">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Phone" value="269025134">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <enumeration name="PickMode"
-                 version="1.0"
-                 glib:type-name="ClutterPickMode"
-                 glib:get-type="clutter_pick_mode_get_type"
-                 c:type="ClutterPickMode">
-      <doc xml:whitespace="preserve">Controls the paint cycle of the scene graph when in pick mode</doc>
-      <member name="none"
-              value="0"
-              c:identifier="CLUTTER_PICK_NONE"
-              glib:nick="none"/>
-      <member name="reactive"
-              value="1"
-              c:identifier="CLUTTER_PICK_REACTIVE"
-              glib:nick="reactive"/>
-      <member name="all"
-              value="2"
-              c:identifier="CLUTTER_PICK_ALL"
-              glib:nick="all"/>
-    </enumeration>
-    <constant name="Pictures" value="269025169">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_Accelerate" value="65274">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_Button1" value="65257">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_Button2" value="65258">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_Button3" value="65259">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_Button4" value="65260">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_Button5" value="65261">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_Button_Dflt" value="65256">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_DblClick1" value="65263">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_DblClick2" value="65264">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_DblClick3" value="65265">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_DblClick4" value="65266">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_DblClick5" value="65267">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_DblClick_Dflt" value="65262">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_DfltBtnNext" value="65275">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_DfltBtnPrev" value="65276">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_Down" value="65251">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_DownLeft" value="65254">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_DownRight" value="65255">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_Drag1" value="65269">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_Drag2" value="65270">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_Drag3" value="65271">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_Drag4" value="65272">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_Drag5" value="65277">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_Drag_Dflt" value="65268">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_EnableKeys" value="65273">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_Left" value="65248">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_Right" value="65249">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_Up" value="65250">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_UpLeft" value="65252">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Pointer_UpRight" value="65253">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="PowerDown" value="269025057">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="PowerOff" value="269025066">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Prev_VMode" value="269024803">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Prev_Virtual_Screen" value="65233">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="PreviousCandidate" value="65342">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Print" value="65377">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Prior" value="65365">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <callback name="ProgressFunc" c:type="ClutterProgressFunc" version="1.0">
-      <doc xml:whitespace="preserve">Prototype of the progress function used to compute the value
-between the two ends @a and @b of an interval depending on
-the value of @progress.
-The #GValue in @retval is already initialized with the same
-type as @a and @b.
-This function will be called by #ClutterInterval if the
-type of the values of the interval was registered using
-clutter_interval_register_progress_func().
-the value and stored it inside @retval</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the function successfully computed</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="a" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the initial value of an interval</doc>
-          <type name="GObject.Value" c:type="GValue*"/>
-        </parameter>
-        <parameter name="b" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the final value of an interval</doc>
-          <type name="GObject.Value" c:type="GValue*"/>
-        </parameter>
-        <parameter name="progress" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the progress factor, between 0 and 1</doc>
-          <type name="gdouble" c:type="gdouble"/>
-        </parameter>
-        <parameter name="retval" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the value used to store the progress</doc>
-          <type name="GObject.Value" c:type="GValue*"/>
-        </parameter>
-      </parameters>
-    </callback>
-    <constant name="Q" value="81">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="R" value="82">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="R1" value="65490">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="R10" value="65499">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="R11" value="65500">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="R12" value="65501">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="R13" value="65502">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="R14" value="65503">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="R15" value="65504">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="R2" value="65491">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="R3" value="65492">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="R4" value="65493">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="R5" value="65494">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="R6" value="65495">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="R7" value="65496">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="R8" value="65497">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="R9" value="65498">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Racute" value="448">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Rcaron" value="472">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Rcedilla" value="931">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="Rectangle"
-           c:symbol-prefix="rectangle"
-           c:type="ClutterRectangle"
-           version="0.1"
-           parent="Actor"
-           glib:type-name="ClutterRectangle"
-           glib:get-type="clutter_rectangle_get_type"
-           glib:type-struct="RectangleClass">
-      <doc xml:whitespace="preserve">The #ClutterRectangle structure contains only private data
-and should be accessed using the provided API</doc>
-      <implements name="Atk.ImplementorIface"/>
-      <implements name="Animatable"/>
-      <implements name="Scriptable"/>
-      <constructor name="new" c:identifier="clutter_rectangle_new">
-        <doc xml:whitespace="preserve">Creates a new #ClutterActor with a rectangular shape.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a new #ClutterActor</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-      </constructor>
-      <constructor name="new_with_color"
-                   c:identifier="clutter_rectangle_new_with_color">
-        <doc xml:whitespace="preserve">Creates a new #ClutterActor with a rectangular shape
-and of the given @color.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a new #ClutterActor</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-        <parameters>
-          <parameter name="color" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterColor</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="get_border_color"
-              c:identifier="clutter_rectangle_get_border_color"
-              version="0.2">
-        <doc xml:whitespace="preserve">Gets the color of the border used by @rectangle and places
-it into @color.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="color" transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for a #ClutterColor</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_border_width"
-              c:identifier="clutter_rectangle_get_border_width"
-              version="0.2">
-        <doc xml:whitespace="preserve">Gets the width (in pixels) of the border used by @rectangle</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the border's width</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_color" c:identifier="clutter_rectangle_get_color">
-        <doc xml:whitespace="preserve">Retrieves the color of @rectangle.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="color" transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for a #ClutterColor</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_border_color"
-              c:identifier="clutter_rectangle_set_border_color">
-        <doc xml:whitespace="preserve">Sets the color of the border used by @rectangle using @color</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="color" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the color of the border</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_border_width"
-              c:identifier="clutter_rectangle_set_border_width"
-              version="0.2">
-        <doc xml:whitespace="preserve">Sets the width (in pixel) of the border used by @rectangle.
-A @width of 0 will unset the border.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="width" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the width of the border</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_color" c:identifier="clutter_rectangle_set_color">
-        <doc xml:whitespace="preserve">Sets the color of @rectangle.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="color" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterColor</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="border-color"
-                version="0.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The color of the border of the rectangle.</doc>
-        <type name="Color"/>
-      </property>
-      <property name="border-width"
-                version="0.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The width of the border of the rectangle, in pixels.</doc>
-        <type name="guint"/>
-      </property>
-      <property name="color" writable="1" transfer-ownership="none">
-        <doc xml:whitespace="preserve">The color of the rectangle.</doc>
-        <type name="Color"/>
-      </property>
-      <property name="has-border"
-                version="0.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the #ClutterRectangle should be displayed with a border.</doc>
-        <type name="gboolean"/>
-      </property>
-      <field name="parent">
-        <type name="Actor" c:type="ClutterActor"/>
-      </field>
-      <field name="priv">
-        <type name="RectanglePrivate" c:type="ClutterRectanglePrivate*"/>
-      </field>
-    </class>
-    <record name="RectangleClass"
-            c:type="ClutterRectangleClass"
-            glib:is-gtype-struct-for="Rectangle"
-            version="0.1">
-      <doc xml:whitespace="preserve">The #ClutterRectangleClass structure contains only private data</doc>
-      <field name="parent_class">
-        <type name="ActorClass" c:type="ClutterActorClass"/>
-      </field>
-      <field name="_clutter_rectangle1" introspectable="0">
-        <callback name="_clutter_rectangle1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_rectangle2" introspectable="0">
-        <callback name="_clutter_rectangle2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_rectangle3" introspectable="0">
-        <callback name="_clutter_rectangle3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_rectangle4" introspectable="0">
-        <callback name="_clutter_rectangle4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <record name="RectanglePrivate"
-            c:type="ClutterRectanglePrivate"
-            disguised="1">
-    </record>
-    <constant name="Red" value="269025187">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Redo" value="65382">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <bitfield name="RedrawFlags"
-              version="1.2"
-              glib:type-name="ClutterRedrawFlags"
-              glib:get-type="clutter_redraw_flags_get_type"
-              c:type="ClutterRedrawFlags">
-      <doc xml:whitespace="preserve">Flags passed to the clutter_actor_queue_redraw_with_clip ()
-function</doc>
-      <member name="box"
-              value="0"
-              c:identifier="CLUTTER_REDRAW_CLIPPED_TO_BOX"
-              glib:nick="box"/>
-      <member name="allocation"
-              value="2"
-              c:identifier="CLUTTER_REDRAW_CLIPPED_TO_ALLOCATION"
-              glib:nick="allocation"/>
-    </bitfield>
-    <constant name="Refresh" value="269025065">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Reload" value="269025139">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="RepeatKeys_Enable" value="65138">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Reply" value="269025138">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <enumeration name="RequestMode"
-                 version="0.8"
-                 glib:type-name="ClutterRequestMode"
-                 glib:get-type="clutter_request_mode_get_type"
-                 c:type="ClutterRequestMode">
-      <doc xml:whitespace="preserve">Specifies the type of requests for a #ClutterActor.</doc>
-      <member name="height_for_width"
-              value="0"
-              c:identifier="CLUTTER_REQUEST_HEIGHT_FOR_WIDTH"
-              glib:nick="height-for-width"/>
-      <member name="width_for_height"
-              value="1"
-              c:identifier="CLUTTER_REQUEST_WIDTH_FOR_HEIGHT"
-              glib:nick="width-for-height"/>
-    </enumeration>
-    <constant name="Return" value="65293">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Right" value="65363">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="RockerDown" value="269025060">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="RockerEnter" value="269025061">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="RockerUp" value="269025059">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Romaji" value="65316">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <enumeration name="RotateAxis"
-                 version="0.4"
-                 glib:type-name="ClutterRotateAxis"
-                 glib:get-type="clutter_rotate_axis_get_type"
-                 c:type="ClutterRotateAxis">
-      <doc xml:whitespace="preserve">Axis of a rotation.</doc>
-      <member name="x_axis"
-              value="0"
-              c:identifier="CLUTTER_X_AXIS"
-              glib:nick="x-axis"/>
-      <member name="y_axis"
-              value="1"
-              c:identifier="CLUTTER_Y_AXIS"
-              glib:nick="y-axis"/>
-      <member name="z_axis"
-              value="2"
-              c:identifier="CLUTTER_Z_AXIS"
-              glib:nick="z-axis"/>
-    </enumeration>
-    <enumeration name="RotateDirection"
-                 version="0.4"
-                 glib:type-name="ClutterRotateDirection"
-                 glib:get-type="clutter_rotate_direction_get_type"
-                 c:type="ClutterRotateDirection">
-      <doc xml:whitespace="preserve">Direction of a rotation.</doc>
-      <member name="cw"
-              value="0"
-              c:identifier="CLUTTER_ROTATE_CW"
-              glib:nick="cw"/>
-      <member name="ccw"
-              value="1"
-              c:identifier="CLUTTER_ROTATE_CCW"
-              glib:nick="ccw"/>
-    </enumeration>
-    <constant name="RotateWindows" value="269025140">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="RotationKB" value="269025142">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="RotationPB" value="269025141">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="RupeeSign" value="16785576">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="S" value="83">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="SCHWA" value="16777615">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Sabovedot" value="16784992">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Sacute" value="422">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Save" value="269025143">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Scaron" value="425">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Scedilla" value="426">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Scircumflex" value="734">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="Score"
-           c:symbol-prefix="score"
-           c:type="ClutterScore"
-           version="0.6"
-           parent="GObject.Object"
-           glib:type-name="ClutterScore"
-           glib:get-type="clutter_score_get_type"
-           glib:type-struct="ScoreClass">
-      <doc xml:whitespace="preserve">The #ClutterScore structure contains only private data
-and should be accessed using the provided API</doc>
-      <constructor name="new" c:identifier="clutter_score_new" version="0.6">
-        <doc xml:whitespace="preserve">Creates a new #ClutterScore. A #ClutterScore is an object that can
-hold multiple #ClutterTimeline&lt;!-- --&gt;s in a sequential order.
-when done.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created #ClutterScore. Use g_object_unref()</doc>
-          <type name="Score" c:type="ClutterScore*"/>
-        </return-value>
-      </constructor>
-      <method name="append" c:identifier="clutter_score_append" version="0.6">
-        <doc xml:whitespace="preserve">Appends a timeline to another one existing in the score; the newly
-appended timeline will be started when @parent is complete.
-If @parent is %NULL, the new #ClutterTimeline will be started when
-clutter_score_start() is called.
-#ClutterScore will take a reference on @timeline.
-0 on failure. The returned id can be used with clutter_score_remove()
-or clutter_score_get_timeline().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the id of the #ClutterTimeline inside the score, or</doc>
-          <type name="gulong" c:type="gulong"/>
-        </return-value>
-        <parameters>
-          <parameter name="parent" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #ClutterTimeline in the score, or %NULL</doc>
-            <type name="Timeline" c:type="ClutterTimeline*"/>
-          </parameter>
-          <parameter name="timeline" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterTimeline</doc>
-            <type name="Timeline" c:type="ClutterTimeline*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="append_at_marker"
-              c:identifier="clutter_score_append_at_marker"
-              version="0.8">
-        <doc xml:whitespace="preserve">Appends @timeline at the given @marker_name on the @parent
-#ClutterTimeline.
-If you want to append @timeline at the end of @parent, use
-clutter_score_append().
-The #ClutterScore will take a reference on @timeline.
-0 on failure. The returned id can be used with clutter_score_remove()
-or clutter_score_get_timeline().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the id of the #ClutterTimeline inside the score, or</doc>
-          <type name="gulong" c:type="gulong"/>
-        </return-value>
-        <parameters>
-          <parameter name="parent" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the parent #ClutterTimeline</doc>
-            <type name="Timeline" c:type="ClutterTimeline*"/>
-          </parameter>
-          <parameter name="marker_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the marker to use</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="timeline" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #ClutterTimeline to append</doc>
-            <type name="Timeline" c:type="ClutterTimeline*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_loop"
-              c:identifier="clutter_score_get_loop"
-              version="0.6">
-        <doc xml:whitespace="preserve">Gets whether @score is looping</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the score is looping</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_timeline"
-              c:identifier="clutter_score_get_timeline"
-              version="0.6">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterTimeline for @id inside @score.
-function does not increase the reference count on the returned
-#ClutterTimeline</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the requested timeline, or %NULL. This</doc>
-          <type name="Timeline" c:type="ClutterTimeline*"/>
-        </return-value>
-        <parameters>
-          <parameter name="id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the id of the timeline</doc>
-            <type name="gulong" c:type="gulong"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="is_playing"
-              c:identifier="clutter_score_is_playing"
-              version="0.6">
-        <doc xml:whitespace="preserve">Query state of a #ClutterScore instance.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if score is currently playing</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="list_timelines"
-              c:identifier="clutter_score_list_timelines"
-              version="0.6">
-        <doc xml:whitespace="preserve">Retrieves a list of all the #ClutterTimelines managed by @score.
-#GSList containing all the timelines in the score. This function does
-not increase the reference count of the returned timelines. Use
-g_slist_free() on the returned list to deallocate its resources.</doc>
-        <return-value transfer-ownership="container">
-          <doc xml:whitespace="preserve">a</doc>
-          <type name="GLib.SList" c:type="GSList*">
-            <type name="Timeline"/>
-          </type>
-        </return-value>
-      </method>
-      <method name="pause" c:identifier="clutter_score_pause" version="0.6">
-        <doc xml:whitespace="preserve">Pauses a playing score @score.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="remove" c:identifier="clutter_score_remove" version="0.6">
-        <doc xml:whitespace="preserve">Removes the #ClutterTimeline with the given id inside @score. If
-the timeline has other timelines attached to it, those are removed
-as well.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the id of the timeline to remove</doc>
-            <type name="gulong" c:type="gulong"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="remove_all"
-              c:identifier="clutter_score_remove_all"
-              version="0.6">
-        <doc xml:whitespace="preserve">Removes all the timelines inside @score.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="rewind" c:identifier="clutter_score_rewind" version="0.6">
-        <doc xml:whitespace="preserve">Rewinds a #ClutterScore to its initial state.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="set_loop"
-              c:identifier="clutter_score_set_loop"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sets whether @score should loop. A looping #ClutterScore will start
-from its initial state after the ::complete signal has been fired.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="loop" transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE for enable looping</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="start" c:identifier="clutter_score_start" version="0.6">
-        <doc xml:whitespace="preserve">Starts the score.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="stop" c:identifier="clutter_score_stop" version="0.6">
-        <doc xml:whitespace="preserve">Stops and rewinds a playing #ClutterScore instance.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <property name="loop"
-                version="0.6"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the #ClutterScore should restart once finished.</doc>
-        <type name="gboolean"/>
-      </property>
-      <field name="parent">
-        <type name="GObject.Object" c:type="GObject"/>
-      </field>
-      <field name="priv">
-        <type name="ScorePrivate" c:type="ClutterScorePrivate*"/>
-      </field>
-      <glib:signal name="completed" version="0.6">
-        <doc xml:whitespace="preserve">The ::completed signal is emitted each time a #ClutterScore terminates.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="paused" version="0.6">
-        <doc xml:whitespace="preserve">The ::paused signal is emitted each time a #ClutterScore
-is paused.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="started" version="0.6">
-        <doc xml:whitespace="preserve">The ::started signal is emitted each time a #ClutterScore starts playing.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="timeline-completed" version="0.6">
-        <doc xml:whitespace="preserve">The ::timeline-completed signal is emitted each time a timeline
-inside a #ClutterScore terminates.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the completed timeline</doc>
-            <type name="Timeline"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="timeline-started" version="0.6">
-        <doc xml:whitespace="preserve">The ::timeline-started signal is emitted each time a new timeline
-inside a #ClutterScore starts playing.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the current timeline</doc>
-            <type name="Timeline"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-    </class>
-    <record name="ScoreClass"
-            c:type="ClutterScoreClass"
-            glib:is-gtype-struct-for="Score"
-            version="0.6">
-      <doc xml:whitespace="preserve">The #ClutterScoreClass structure contains only private data</doc>
-      <field name="parent_class">
-        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
-      </field>
-      <field name="timeline_started">
-        <callback name="timeline_started">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="score" transfer-ownership="none">
-              <type name="Score" c:type="ClutterScore*"/>
-            </parameter>
-            <parameter name="timeline" transfer-ownership="none">
-              <type name="Timeline" c:type="ClutterTimeline*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="timeline_completed">
-        <callback name="timeline_completed">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="score" transfer-ownership="none">
-              <type name="Score" c:type="ClutterScore*"/>
-            </parameter>
-            <parameter name="timeline" transfer-ownership="none">
-              <type name="Timeline" c:type="ClutterTimeline*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="started">
-        <callback name="started">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="score" transfer-ownership="none">
-              <type name="Score" c:type="ClutterScore*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="completed">
-        <callback name="completed">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="score" transfer-ownership="none">
-              <type name="Score" c:type="ClutterScore*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="paused">
-        <callback name="paused">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="score" transfer-ownership="none">
-              <type name="Score" c:type="ClutterScore*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_clutter_score_1" introspectable="0">
-        <callback name="_clutter_score_1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_score_2" introspectable="0">
-        <callback name="_clutter_score_2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_score_3" introspectable="0">
-        <callback name="_clutter_score_3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_score_4" introspectable="0">
-        <callback name="_clutter_score_4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_score_5" introspectable="0">
-        <callback name="_clutter_score_5">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <record name="ScorePrivate" c:type="ClutterScorePrivate" disguised="1">
-    </record>
-    <constant name="ScreenSaver" value="269025069">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="Script"
-           c:symbol-prefix="script"
-           c:type="ClutterScript"
-           version="0.6"
-           parent="GObject.Object"
-           glib:type-name="ClutterScript"
-           glib:get-type="clutter_script_get_type"
-           glib:type-struct="ScriptClass">
-      <doc xml:whitespace="preserve">The #ClutterScript structure contains only private data
-and should be accessed using the provided API</doc>
-      <constructor name="new" c:identifier="clutter_script_new" version="0.6">
-        <doc xml:whitespace="preserve">Creates a new #ClutterScript instance. #ClutterScript can be used
-to load objects definitions for scenegraph elements, like actors,
-or behavioural elements, like behaviours and timelines. The
-definitions must be encoded using the JavaScript Object Notation (JSON)
-language.
-g_object_unref() when done.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created #ClutterScript instance. Use</doc>
-          <type name="Script" c:type="ClutterScript*"/>
-        </return-value>
-      </constructor>
-      <virtual-method name="get_type_from_name"
-                      invoker="get_type_from_name"
-                      version="0.6">
-        <doc xml:whitespace="preserve">Looks up a type by name, using the virtual function that 
-#ClutterScript has for that purpose. This function should
-rarely be used.
-%G_TYPE_INVALID if not corresponding type was found.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the type for the requested type name, or</doc>
-          <type name="GType" c:type="GType"/>
-        </return-value>
-        <parameters>
-          <parameter name="type_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">name of the type to look up</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <method name="add_search_paths"
-              c:identifier="clutter_script_add_search_paths"
-              version="0.8">
-        <doc xml:whitespace="preserve">Adds @paths to the list of search paths held by @script.
-The search paths are used by clutter_script_lookup_filename(), which
-can be used to define search paths for the textures source file name
-or other custom, file-based properties.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="paths" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an array of strings containing different search paths</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="n_paths" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the length of the passed array</doc>
-            <type name="gulong" c:type="gsize"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="connect_signals"
-              c:identifier="clutter_script_connect_signals"
-              version="0.6">
-        <doc xml:whitespace="preserve">Connects all the signals defined into a UI definition file to their
-handlers.
-This method invokes clutter_script_connect_signals_full() internally
-and uses  #GModule's introspective features (by opening the current
-module's scope) to look at the application's symbol table.
-Note that this function will not work if #GModule is not supported by
-the platform Clutter is running on.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="user_data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">data to be passed to the signal handlers, or %NULL</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="connect_signals_full"
-              c:identifier="clutter_script_connect_signals_full"
-              version="0.6"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Connects all the signals defined into a UI definition file to their
-handlers.
-This function allows to control how the signal handlers are
-going to be connected to their respective signals. It is meant
-primarily for language bindings to allow resolving the function
-names using the native API, but it can also be used on platforms
-that do not support GModule.
-Applications should use clutter_script_connect_signals().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="func" transfer-ownership="none" closure="1">
-            <doc xml:whitespace="preserve">signal connection function</doc>
-            <type name="ScriptConnectFunc" c:type="ClutterScriptConnectFunc"/>
-          </parameter>
-          <parameter name="user_data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">data to be passed to the signal handlers, or %NULL</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="ensure_objects"
-              c:identifier="clutter_script_ensure_objects"
-              version="0.6">
-        <doc xml:whitespace="preserve">Ensure that every object defined inside @script is correctly
-constructed. You should rarely need to use this function.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="get_object"
-              c:identifier="clutter_script_get_object"
-              version="0.6">
-        <doc xml:whitespace="preserve">Retrieves the object bound to @name. This function does not increment
-the reference count of the returned object.
-with the given name was available</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the named object, or %NULL if no object</doc>
-          <type name="GObject.Object" c:type="GObject*"/>
-        </return-value>
-        <parameters>
-          <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the object to retrieve</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_objects"
-              c:identifier="clutter_script_get_objects"
-              version="0.6"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Retrieves a list of objects for the given names. After @script, object
-names/return location pairs should be listed, with a %NULL pointer
-ending the list, like:
-&lt;informalexample&gt;&lt;programlisting&gt;
-GObject *my_label, *a_button, *main_timeline;
-clutter_script_get_objects (script,
-"my-label", &amp;amp;my_label,
-"a-button", &amp;amp;a_button,
-"main-timeline", &amp;amp;main_timeline,
-NULL);
-&lt;/programlisting&gt;&lt;/informalexample&gt;
-returned objects.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of objects returned.</doc>
-          <type name="gint" c:type="gint"/>
-        </return-value>
-        <parameters>
-          <parameter name="first_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the first object to retrieve</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_type_from_name"
-              c:identifier="clutter_script_get_type_from_name"
-              version="0.6">
-        <doc xml:whitespace="preserve">Looks up a type by name, using the virtual function that 
-#ClutterScript has for that purpose. This function should
-rarely be used.
-%G_TYPE_INVALID if not corresponding type was found.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the type for the requested type name, or</doc>
-          <type name="GType" c:type="GType"/>
-        </return-value>
-        <parameters>
-          <parameter name="type_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">name of the type to look up</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="list_objects"
-              c:identifier="clutter_script_list_objects"
-              version="0.8.2">
-        <doc xml:whitespace="preserve">Retrieves all the objects created by @script.
-objects it returns.
-of #GObject&lt;!-- --&gt;s, or %NULL. The objects are owned by the
-#ClutterScript instance. Use g_list_free() on the returned list when
-done.</doc>
-        <return-value transfer-ownership="container">
-          <doc xml:whitespace="preserve">a list</doc>
-          <type name="GLib.List" c:type="GList*">
-            <type name="GObject.Object"/>
-          </type>
-        </return-value>
-      </method>
-      <method name="load_from_data"
-              c:identifier="clutter_script_load_from_data"
-              version="0.6"
-              throws="1">
-        <doc xml:whitespace="preserve">Loads the definitions from @data into @script and merges with
-the currently loaded ones, if any.
-accordingly. On success, the merge id for the UI definitions is
-returned. You can use the merge id with clutter_script_unmerge().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">on error, zero is returned and @error is set</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-        <parameters>
-          <parameter name="data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a buffer containing the definitions</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="length" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the length of the buffer, or -1 if @data is a NUL-terminated buffer</doc>
-            <type name="glong" c:type="gssize"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="load_from_file"
-              c:identifier="clutter_script_load_from_file"
-              version="0.6"
-              throws="1">
-        <doc xml:whitespace="preserve">Loads the definitions from @filename into @script and merges with
-the currently loaded ones, if any.
-accordingly. On success, the merge id for the UI definitions is
-returned. You can use the merge id with clutter_script_unmerge_objects().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">on error, zero is returned and @error is set</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-        <parameters>
-          <parameter name="filename" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the full path to the definition file</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="lookup_filename"
-              c:identifier="clutter_script_lookup_filename"
-              version="0.8">
-        <doc xml:whitespace="preserve">Looks up @filename inside the search paths of @script. If @filename
-is found, its full path will be returned .
-found.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the full path of @filename or %NULL if no path was</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-        <parameters>
-          <parameter name="filename" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the file to lookup</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="unmerge_objects"
-              c:identifier="clutter_script_unmerge_objects"
-              version="0.6">
-        <doc xml:whitespace="preserve">Unmerges the objects identified by @merge_id.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="merge_id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">merge id returned when loading a UI definition</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="filename" version="0.6" transfer-ownership="none">
-        <doc xml:whitespace="preserve">The path of the currently parsed file. If #ClutterScript:filename-set
-is %FALSE then the value of this property is undefined.</doc>
-        <type name="utf8"/>
-      </property>
-      <property name="filename-set" version="0.6" transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the #ClutterScript:filename property is set. If this property
-is %TRUE then the currently parsed data comes from a file, and the
-file name is stored inside the #ClutterScript:filename property.</doc>
-        <type name="gboolean"/>
-      </property>
-      <field name="parent_instance">
-        <type name="GObject.Object" c:type="GObject"/>
-      </field>
-      <field name="priv">
-        <type name="ScriptPrivate" c:type="ClutterScriptPrivate*"/>
-      </field>
-    </class>
-    <record name="ScriptClass"
-            c:type="ClutterScriptClass"
-            glib:is-gtype-struct-for="Script"
-            version="0.6">
-      <doc xml:whitespace="preserve">The #ClutterScriptClass structure contains only private data</doc>
-      <field name="parent_class">
-        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
-      </field>
-      <field name="get_type_from_name">
-        <callback name="get_type_from_name">
-          <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">the type for the requested type name, or</doc>
-            <type name="GType" c:type="GType"/>
-          </return-value>
-          <parameters>
-            <parameter name="script" transfer-ownership="none">
-              <type name="Script" c:type="ClutterScript*"/>
-            </parameter>
-            <parameter name="type_name" transfer-ownership="none">
-              <doc xml:whitespace="preserve">name of the type to look up</doc>
-              <type name="utf8" c:type="gchar*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_clutter_reserved1" introspectable="0">
-        <callback name="_clutter_reserved1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved2" introspectable="0">
-        <callback name="_clutter_reserved2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved3" introspectable="0">
-        <callback name="_clutter_reserved3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved4" introspectable="0">
-        <callback name="_clutter_reserved4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved5" introspectable="0">
-        <callback name="_clutter_reserved5">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved6" introspectable="0">
-        <callback name="_clutter_reserved6">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved7" introspectable="0">
-        <callback name="_clutter_reserved7">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved8" introspectable="0">
-        <callback name="_clutter_reserved8">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <callback name="ScriptConnectFunc"
-              c:type="ClutterScriptConnectFunc"
-              version="0.6">
-      <doc xml:whitespace="preserve">This is the signature of a function used to connect signals.  It is used
-by the clutter_script_connect_signals_full() function.  It is mainly
-intended for interpreted language bindings, but could be useful where the
-programmer wants more control over the signal connection process.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="script" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterScript</doc>
-          <type name="Script" c:type="ClutterScript*"/>
-        </parameter>
-        <parameter name="object" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the object to connect</doc>
-          <type name="GObject.Object" c:type="GObject*"/>
-        </parameter>
-        <parameter name="signal_name" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the name of the signal</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </parameter>
-        <parameter name="handler_name" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the name of the signal handler</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </parameter>
-        <parameter name="connect_object" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the object to connect the signal to, or %NULL</doc>
-          <type name="GObject.Object" c:type="GObject*"/>
-        </parameter>
-        <parameter name="flags" transfer-ownership="none">
-          <doc xml:whitespace="preserve">signal connection flags</doc>
-          <type name="GObject.ConnectFlags" c:type="GConnectFlags"/>
-        </parameter>
-        <parameter name="user_data" transfer-ownership="none" closure="6">
-          <doc xml:whitespace="preserve">user data to pass to the signal handler</doc>
-          <type name="gpointer" c:type="gpointer"/>
-        </parameter>
-      </parameters>
-    </callback>
-    <enumeration name="ScriptError"
-                 version="0.6"
-                 glib:type-name="ClutterScriptError"
-                 glib:get-type="clutter_script_error_get_type"
-                 c:type="ClutterScriptError"
-                 glib:error-quark="clutter_script_error_quark">
-      <doc xml:whitespace="preserve">#ClutterScript error enumeration.</doc>
-      <member name="type_function"
-              value="0"
-              c:identifier="CLUTTER_SCRIPT_ERROR_INVALID_TYPE_FUNCTION"
-              glib:nick="type-function"/>
-      <member name="property"
-              value="1"
-              c:identifier="CLUTTER_SCRIPT_ERROR_INVALID_PROPERTY"
-              glib:nick="property"/>
-      <member name="value"
-              value="2"
-              c:identifier="CLUTTER_SCRIPT_ERROR_INVALID_VALUE"
-              glib:nick="value"/>
-    </enumeration>
-    <record name="ScriptPrivate" c:type="ClutterScriptPrivate" disguised="1">
-    </record>
-    <interface name="Scriptable"
-               c:symbol-prefix="scriptable"
-               c:type="ClutterScriptable"
-               version="0.6"
-               glib:type-name="ClutterScriptable"
-               glib:get-type="clutter_scriptable_get_type"
-               glib:type-struct="ScriptableIface">
-      <doc xml:whitespace="preserve">#ClutterScriptable is an opaque structure whose members cannot be directly
-accessed</doc>
-      <virtual-method name="get_id" invoker="get_id" version="0.6">
-        <doc xml:whitespace="preserve">Retrieves the id of @scriptable set using clutter_scriptable_set_id().
-the scriptable object and should never be modified of freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the id of the object. The returned string is owned by</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="parse_custom_node"
-                      invoker="parse_custom_node"
-                      version="0.6">
-        <doc xml:whitespace="preserve">Parses the passed JSON node. The implementation must set the type
-of the passed #GValue pointer using g_value_init().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the node was successfully parsed, %FALSE otherwise.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="script" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #ClutterScript creating the scriptable instance</doc>
-            <type name="Script" c:type="ClutterScript*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the generic value to be set</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-          <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the node</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the JSON node to be parsed</doc>
-            <type name="Json.Node" c:type="JsonNode*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="set_custom_property"
-                      invoker="set_custom_property"
-                      version="0.6">
-        <doc xml:whitespace="preserve">Overrides the common properties setting. The underlying virtual
-function should be used when implementing custom properties.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="script" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #ClutterScript creating the scriptable instance</doc>
-            <type name="Script" c:type="ClutterScript*"/>
-          </parameter>
-          <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the property</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value of the property</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="set_id" invoker="set_id" version="0.6">
-        <doc xml:whitespace="preserve">Sets @id as the unique Clutter script it for this instance of
-#ClutterScriptableIface.
-This name can be used by user interface designer applications to
-define a unique name for an object constructable using the UI
-definition language parsed by #ClutterScript.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="name" transfer-ownership="none">
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <method name="get_id"
-              c:identifier="clutter_scriptable_get_id"
-              version="0.6">
-        <doc xml:whitespace="preserve">Retrieves the id of @scriptable set using clutter_scriptable_set_id().
-the scriptable object and should never be modified of freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the id of the object. The returned string is owned by</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-      <method name="parse_custom_node"
-              c:identifier="clutter_scriptable_parse_custom_node"
-              version="0.6">
-        <doc xml:whitespace="preserve">Parses the passed JSON node. The implementation must set the type
-of the passed #GValue pointer using g_value_init().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the node was successfully parsed, %FALSE otherwise.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="script" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #ClutterScript creating the scriptable instance</doc>
-            <type name="Script" c:type="ClutterScript*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the generic value to be set</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-          <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the node</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the JSON node to be parsed</doc>
-            <type name="Json.Node" c:type="JsonNode*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_custom_property"
-              c:identifier="clutter_scriptable_set_custom_property"
-              version="0.6">
-        <doc xml:whitespace="preserve">Overrides the common properties setting. The underlying virtual
-function should be used when implementing custom properties.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="script" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #ClutterScript creating the scriptable instance</doc>
-            <type name="Script" c:type="ClutterScript*"/>
-          </parameter>
-          <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the property</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value of the property</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_id"
-              c:identifier="clutter_scriptable_set_id"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sets @id as the unique Clutter script it for this instance of
-#ClutterScriptableIface.
-This name can be used by user interface designer applications to
-define a unique name for an object constructable using the UI
-definition language parsed by #ClutterScript.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #ClutterScript id of the object</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-    </interface>
-    <record name="ScriptableIface"
-            c:type="ClutterScriptableIface"
-            glib:is-gtype-struct-for="Scriptable"
-            version="0.6">
-      <doc xml:whitespace="preserve">Interface for implementing "scriptable" objects. An object implementing
-this interface can override the parsing and properties setting sequence
-when loading a UI definition data with #ClutterScript</doc>
-      <field name="g_iface">
-        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
-      </field>
-      <field name="set_id">
-        <callback name="set_id">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="scriptable" transfer-ownership="none">
-              <type name="Scriptable" c:type="ClutterScriptable*"/>
-            </parameter>
-            <parameter name="name" transfer-ownership="none">
-              <type name="utf8" c:type="gchar*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="get_id">
-        <callback name="get_id">
-          <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">the id of the object. The returned string is owned by</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </return-value>
-          <parameters>
-            <parameter name="scriptable" transfer-ownership="none">
-              <type name="Scriptable" c:type="ClutterScriptable*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="parse_custom_node">
-        <callback name="parse_custom_node">
-          <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE if the node was successfully parsed, %FALSE otherwise.</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="scriptable" transfer-ownership="none">
-              <type name="Scriptable" c:type="ClutterScriptable*"/>
-            </parameter>
-            <parameter name="script" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the #ClutterScript creating the scriptable instance</doc>
-              <type name="Script" c:type="ClutterScript*"/>
-            </parameter>
-            <parameter name="value" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the generic value to be set</doc>
-              <type name="GObject.Value" c:type="GValue*"/>
-            </parameter>
-            <parameter name="name" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the name of the node</doc>
-              <type name="utf8" c:type="gchar*"/>
-            </parameter>
-            <parameter name="node" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the JSON node to be parsed</doc>
-              <type name="Json.Node" c:type="JsonNode*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="set_custom_property">
-        <callback name="set_custom_property">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="scriptable" transfer-ownership="none">
-              <type name="Scriptable" c:type="ClutterScriptable*"/>
-            </parameter>
-            <parameter name="script" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the #ClutterScript creating the scriptable instance</doc>
-              <type name="Script" c:type="ClutterScript*"/>
-            </parameter>
-            <parameter name="name" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the name of the property</doc>
-              <type name="utf8" c:type="gchar*"/>
-            </parameter>
-            <parameter name="value" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the value of the property</doc>
-              <type name="GObject.Value" c:type="GValue*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-    </record>
-    <constant name="ScrollClick" value="269025146">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <enumeration name="ScrollDirection"
-                 version="0.4"
-                 glib:type-name="ClutterScrollDirection"
-                 glib:get-type="clutter_scroll_direction_get_type"
-                 c:type="ClutterScrollDirection">
-      <doc xml:whitespace="preserve">Direction of a pointer scroll event.</doc>
-      <member name="up"
-              value="0"
-              c:identifier="CLUTTER_SCROLL_UP"
-              glib:nick="up"/>
-      <member name="down"
-              value="1"
-              c:identifier="CLUTTER_SCROLL_DOWN"
-              glib:nick="down"/>
-      <member name="left"
-              value="2"
-              c:identifier="CLUTTER_SCROLL_LEFT"
-              glib:nick="left"/>
-      <member name="right"
-              value="3"
-              c:identifier="CLUTTER_SCROLL_RIGHT"
-              glib:nick="right"/>
-    </enumeration>
-    <constant name="ScrollDown" value="269025145">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <record name="ScrollEvent" c:type="ClutterScrollEvent" version="0.2">
-      <doc xml:whitespace="preserve">Scroll wheel (or similar device) event</doc>
-      <field name="type" writable="1">
-        <type name="EventType" c:type="ClutterEventType"/>
-      </field>
-      <field name="time" writable="1">
-        <type name="guint32" c:type="guint32"/>
-      </field>
-      <field name="flags" writable="1">
-        <type name="EventFlags" c:type="ClutterEventFlags"/>
-      </field>
-      <field name="stage" writable="1">
-        <type name="Stage" c:type="ClutterStage*"/>
-      </field>
-      <field name="source" writable="1">
-        <type name="Actor" c:type="ClutterActor*"/>
-      </field>
-      <field name="x" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-      <field name="y" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-      <field name="direction" writable="1">
-        <type name="ScrollDirection" c:type="ClutterScrollDirection"/>
-      </field>
-      <field name="modifier_state" writable="1">
-        <type name="ModifierType" c:type="ClutterModifierType"/>
-      </field>
-      <field name="axes" writable="1">
-        <type name="gdouble" c:type="gdouble*"/>
-      </field>
-      <field name="device" writable="1">
-        <type name="InputDevice" c:type="ClutterInputDevice*"/>
-      </field>
-    </record>
-    <constant name="ScrollUp" value="269025144">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Scroll_Lock" value="65300">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Search" value="269025051">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Select" value="65376">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="SelectButton" value="269025184">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Send" value="269025147">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Serbian_DJE" value="1713">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Serbian_DZE" value="1727">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Serbian_JE" value="1720">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Serbian_LJE" value="1721">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Serbian_NJE" value="1722">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Serbian_TSHE" value="1723">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Serbian_dje" value="1697">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Serbian_dze" value="1711">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Serbian_je" value="1704">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Serbian_lje" value="1705">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Serbian_nje" value="1706">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Serbian_tshe" value="1707">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="Settings"
-           c:symbol-prefix="settings"
-           c:type="ClutterSettings"
-           version="1.4"
-           parent="GObject.Object"
-           glib:type-name="ClutterSettings"
-           glib:get-type="clutter_settings_get_type">
-      <doc xml:whitespace="preserve">&lt;structname&gt;ClutterSettings&lt;/structname&gt; is an opaque structure whose
-members cannot be directly accessed.</doc>
-      <function name="get_default"
-                c:identifier="clutter_settings_get_default"
-                version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the singleton instance of #ClutterSettings
-returned object is owned by Clutter and it should not be unreferenced
-directly</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the instance of #ClutterSettings. The</doc>
-          <type name="Settings" c:type="ClutterSettings*"/>
-        </return-value>
-      </function>
-      <property name="backend"
-                version="1.4"
-                readable="0"
-                writable="1"
-                construct-only="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">A back pointer to the #ClutterBackend</doc>
-        <type name="Backend"/>
-      </property>
-      <property name="double-click-distance"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The maximum distance, in pixels, between button-press events that
-determines whether or not to increase the click count by 1.</doc>
-        <type name="gint"/>
-      </property>
-      <property name="double-click-time"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The time, in milliseconds, that should elapse between button-press
-events in order to increase the click count by 1.</doc>
-        <type name="gint"/>
-      </property>
-      <property name="font-antialias"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether or not to use antialiasing when rendering text; a value
-of 1 enables it unconditionally; a value of 0 disables it
-unconditionally; and -1 will use the system's default.</doc>
-        <type name="gint"/>
-      </property>
-      <property name="font-dpi"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The DPI used when rendering text, as a value of 1024 * dots/inch.
-If set to -1, the system's default will be used instead</doc>
-        <type name="gint"/>
-      </property>
-      <property name="font-hint-style"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The style of the hinting used when rendering text. Valid values
-are:
-&lt;itemizedlist&gt;
-&lt;listitem&gt;&lt;simpara&gt;hintnone&lt;/simpara&gt;&lt;/listitem&gt;
-&lt;listitem&gt;&lt;simpara&gt;hintslight&lt;/simpara&gt;&lt;/listitem&gt;
-&lt;listitem&gt;&lt;simpara&gt;hintmedium&lt;/simpara&gt;&lt;/listitem&gt;
-&lt;listitem&gt;&lt;simpara&gt;hintfull&lt;/simpara&gt;&lt;/listitem&gt;
-&lt;/itemizedlist&gt;</doc>
-        <type name="utf8"/>
-      </property>
-      <property name="font-hinting"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether or not to use hinting when rendering text; a value of 1
-unconditionally enables it; a value of 0 unconditionally disables
-it; and a value of -1 will use the system's default.</doc>
-        <type name="gint"/>
-      </property>
-      <property name="font-name"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The default font name that should be used by text actors, as
-a string that can be passed to pango_font_description_from_string().</doc>
-        <type name="utf8"/>
-      </property>
-      <property name="font-subpixel-order"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The type of sub-pixel antialiasing used when rendering text. Valid
-values are:
-&lt;itemizedlist&gt;
-&lt;listitem&gt;&lt;simpara&gt;none&lt;/simpara&gt;&lt;/listitem&gt;
-&lt;listitem&gt;&lt;simpara&gt;rgb&lt;/simpara&gt;&lt;/listitem&gt;
-&lt;listitem&gt;&lt;simpara&gt;bgr&lt;/simpara&gt;&lt;/listitem&gt;
-&lt;listitem&gt;&lt;simpara&gt;vrgb&lt;/simpara&gt;&lt;/listitem&gt;
-&lt;listitem&gt;&lt;simpara&gt;vbgr&lt;/simpara&gt;&lt;/listitem&gt;
-&lt;/itemizedlist&gt;</doc>
-        <type name="utf8"/>
-      </property>
-    </class>
-    <class name="Shader"
-           c:symbol-prefix="shader"
-           c:type="ClutterShader"
-           version="0.6"
-           parent="GObject.Object"
-           glib:type-name="ClutterShader"
-           glib:get-type="clutter_shader_get_type"
-           glib:type-struct="ShaderClass">
-      <doc xml:whitespace="preserve">The #ClutterShader structure contains only private data
-and should be accessed using the provided API</doc>
-      <constructor name="new" c:identifier="clutter_shader_new" version="0.6">
-        <doc xml:whitespace="preserve">Create a new #ClutterShader instance.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #ClutterShader.</doc>
-          <type name="Shader" c:type="ClutterShader*"/>
-        </return-value>
-      </constructor>
-      <method name="compile"
-              c:identifier="clutter_shader_compile"
-              version="0.8"
-              throws="1">
-        <doc xml:whitespace="preserve">Compiles and links GLSL sources set for vertex and fragment shaders for
-a #ClutterShader. If the compilation fails and a #GError return location is
-provided the error will contain the errors from the compiler, if any.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">returns TRUE if the shader was succesfully compiled.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_cogl_fragment_shader"
-              c:identifier="clutter_shader_get_cogl_fragment_shader"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the underlying #CoglHandle for the fragment shader.
-shader, or %NULL. The handle is owned by the #ClutterShader
-and it should not be unreferenced</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">A #CoglHandle for the fragment</doc>
-          <type name="Cogl.Handle" c:type="CoglHandle"/>
-        </return-value>
-      </method>
-      <method name="get_cogl_program"
-              c:identifier="clutter_shader_get_cogl_program"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the underlying #CoglHandle for the shader program.
-or %NULL. The handle is owned by the #ClutterShader and it should
-not be unreferenced</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">A #CoglHandle for the shader program,</doc>
-          <type name="Cogl.Handle" c:type="CoglHandle"/>
-        </return-value>
-      </method>
-      <method name="get_cogl_vertex_shader"
-              c:identifier="clutter_shader_get_cogl_vertex_shader"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the underlying #CoglHandle for the vertex shader.
-shader, or %NULL. The handle is owned by the #ClutterShader
-and it should not be unreferenced</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">A #CoglHandle for the vertex</doc>
-          <type name="Cogl.Handle" c:type="CoglHandle"/>
-        </return-value>
-      </method>
-      <method name="get_fragment_source"
-              c:identifier="clutter_shader_get_fragment_source"
-              version="0.6">
-        <doc xml:whitespace="preserve">Query the current GLSL fragment source set on @shader.
-ClutterShader object or %NULL. The returned string is owned by the
-shader object and should never be modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the source of the fragment shader for this</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-      <method name="get_is_enabled"
-              c:identifier="clutter_shader_get_is_enabled"
-              version="0.6">
-        <doc xml:whitespace="preserve">Checks whether @shader is enabled.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the shader is enabled.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_vertex_source"
-              c:identifier="clutter_shader_get_vertex_source"
-              version="0.6">
-        <doc xml:whitespace="preserve">Query the current GLSL vertex source set on @shader.
-ClutterShader object or %NULL. The returned string is owned by the
-shader object and should never be modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the source of the vertex shader for this</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-      <method name="is_compiled"
-              c:identifier="clutter_shader_is_compiled"
-              version="0.8">
-        <doc xml:whitespace="preserve">Checks whether @shader is is currently compiled, linked and bound
-to the GL context.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the shader is compiled, linked and ready for use.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="release"
-              c:identifier="clutter_shader_release"
-              version="0.6">
-        <doc xml:whitespace="preserve">Frees up any GL context resources held by the shader.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="set_fragment_source"
-              c:identifier="clutter_shader_set_fragment_source"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sets the GLSL source code to be used by a #ClutterShader for the fragment
-program.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">GLSL source code.</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="length" transfer-ownership="none">
-            <doc xml:whitespace="preserve">length of source buffer (currently ignored)</doc>
-            <type name="glong" c:type="gssize"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_is_enabled"
-              c:identifier="clutter_shader_set_is_enabled"
-              version="0.6">
-        <doc xml:whitespace="preserve">Enables a shader. This function will attempt to compile and link
-the shader, if it isn't already.
-When @enabled is %FALSE the default state of the GL pipeline will be
-used instead.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="enabled" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The new state of the shader.</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_uniform"
-              c:identifier="clutter_shader_set_uniform"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets a user configurable variable in the GLSL shader programs attached to
-a #ClutterShader.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">name of uniform in GLSL shader program to set.</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterShaderFloat, #ClutterShaderInt or #ClutterShaderMatrix #GValue.</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_vertex_source"
-              c:identifier="clutter_shader_set_vertex_source"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sets the GLSL source code to be used by a #ClutterShader for the vertex
-program.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">GLSL source code.</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="length" transfer-ownership="none">
-            <doc xml:whitespace="preserve">length of source buffer (currently ignored)</doc>
-            <type name="glong" c:type="gssize"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="compiled" version="0.8" transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the shader is compiled and linked, ready for use
-in the GL context.</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="enabled"
-                version="0.6"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the shader is currently used in the GL rendering pipeline.</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="fragment-source"
-                version="0.6"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">GLSL source code for the fragment shader part of the shader program.</doc>
-        <type name="utf8"/>
-      </property>
-      <property name="vertex-source"
-                version="0.6"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">GLSL source code for the vertex shader part of the shader
-program, if any</doc>
-        <type name="utf8"/>
-      </property>
-      <field name="parent">
-        <type name="GObject.Object" c:type="GObject"/>
-      </field>
-      <field name="priv">
-        <type name="ShaderPrivate" c:type="ClutterShaderPrivate*"/>
-      </field>
-    </class>
-    <record name="ShaderClass"
-            c:type="ClutterShaderClass"
-            glib:is-gtype-struct-for="Shader"
-            version="0.6">
-      <doc xml:whitespace="preserve">The #ClutterShaderClass structure contains only private data</doc>
-      <field name="parent_class">
-        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
-      </field>
-    </record>
-    <class name="ShaderEffect"
-           c:symbol-prefix="shader_effect"
-           c:type="ClutterShaderEffect"
-           version="1.4"
-           parent="OffscreenEffect"
-           abstract="1"
-           glib:type-name="ClutterShaderEffect"
-           glib:get-type="clutter_shader_effect_get_type"
-           glib:type-struct="ShaderEffectClass">
-      <doc xml:whitespace="preserve">The &lt;structname&gt;ClutterShaderEffect&lt;/structname&gt; structure contains
-only private data and should be accessed using the provided API</doc>
-      <method name="get_program"
-              c:identifier="clutter_shader_effect_get_program"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves a pointer to the program's handle
-or %COGL_INVALID_HANDLE</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to the program's handle,</doc>
-          <type name="Cogl.Handle" c:type="CoglHandle"/>
-        </return-value>
-      </method>
-      <method name="get_shader"
-              c:identifier="clutter_shader_effect_get_shader"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves a pointer to the shader's handle
-or %COGL_INVALID_HANDLE</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to the shader's handle,</doc>
-          <type name="Cogl.Handle" c:type="CoglHandle"/>
-        </return-value>
-      </method>
-      <method name="set_shader_source"
-              c:identifier="clutter_shader_effect_set_shader_source"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the source of the GLSL shader used by @effect
-This function should only be called by implementations of
-the #ClutterShaderEffect class, and not by application code.
-This function can only be called once; subsequent calls will
-yield no result.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the source was set</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="source" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the source of a GLSL shader</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_uniform"
-              c:identifier="clutter_shader_effect_set_uniform"
-              version="1.4"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Sets a list of values as the payload for the uniform @name inside
-the shader effect
-%G_TYPE_FLOAT, for 1 or more floating point values;
-%CLUTTER_TYPE_SHADER_INT, for a pointer to an array of integer values;
-%CLUTTER_TYPE_SHADER_FLOAT, for a pointer to an array of floating point
-values; and %CLUTTER_TYPE_SHADER_MATRIX, for a pointer to an array of
-floating point values mapping a matrix
-The number of values interepreted is defined by the @n_value
-argument, and by the @gtype argument. For instance, a uniform named
-"sampler0" and containing a single integer value is set using:
-|[
-clutter_shader_effect_set_uniform (effect, "sampler0",
-G_TYPE_INT, 1,
-0);
-]|
-While a uniform named "components" and containing a 3-elements vector
-of floating point values (a "vec3") can be set using:
-|[
-gfloat component_r, component_g, component_b;
-clutter_shader_effect_set_uniform (effect, "components",
-G_TYPE_FLOAT, 3,
-component_r,
-component_g,
-component_b);
-]|
-or can be set using:
-|[
-gfloat component_vec[3];
-clutter_shader_effect_set_uniform (effect, "components",
-CLUTTER_TYPE_SHADER_FLOAT, 3,
-component_vec);
-]|
-Finally, a uniform named "map" and containing a matrix can be set using:
-|[
-clutter_shader_effect_set_uniform (effect, "map",
-CLUTTER_TYPE_SHADER_MATRIX, 1,
-cogl_matrix_get_array (&amp;matrix));
-]|</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the uniform to set</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="gtype" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the type of the uniform to set</doc>
-            <type name="GType" c:type="GType"/>
-          </parameter>
-          <parameter name="n_values" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the number of values</doc>
-            <type name="gulong" c:type="gsize"/>
-          </parameter>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_uniform_value"
-              c:identifier="clutter_shader_effect_set_uniform_value"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets @value as the payload for the uniform @name inside the shader
-effect
-integer value; %G_TYPE_FLOAT, for a single floating point value;
-%CLUTTER_TYPE_SHADER_INT, for an array of integer values;
-%CLUTTER_TYPE_SHADER_FLOAT, for an array of floating point values;
-and %CLUTTER_TYPE_SHADER_MATRIX, for a matrix of floating point
-values</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the uniform to set</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GValue with the value of the uniform to set</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="shader-type"
-                version="1.4"
-                readable="0"
-                writable="1"
-                construct-only="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The type of shader that is used by the effect. This property
-should be set by the constructor of #ClutterShaderEffect
-sub-classes.</doc>
-        <type name="ShaderType"/>
-      </property>
-      <field name="parent_instance">
-        <type name="OffscreenEffect" c:type="ClutterOffscreenEffect"/>
-      </field>
-      <field name="priv">
-        <type name="ShaderEffectPrivate" c:type="ClutterShaderEffectPrivate*"/>
-      </field>
-    </class>
-    <record name="ShaderEffectClass"
-            c:type="ClutterShaderEffectClass"
-            glib:is-gtype-struct-for="ShaderEffect"
-            version="1.4">
-      <doc xml:whitespace="preserve">The &lt;structname&gt;ClutterShaderEffectClass&lt;/structname&gt; structure contains
-only private data</doc>
-      <field name="parent_class">
-        <type name="OffscreenEffectClass"
-              c:type="ClutterOffscreenEffectClass"/>
-      </field>
-      <field name="_clutter_shader1" introspectable="0">
-        <callback name="_clutter_shader1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_shader2" introspectable="0">
-        <callback name="_clutter_shader2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_shader3" introspectable="0">
-        <callback name="_clutter_shader3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_shader4" introspectable="0">
-        <callback name="_clutter_shader4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_shader5" introspectable="0">
-        <callback name="_clutter_shader5">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_shader6" introspectable="0">
-        <callback name="_clutter_shader6">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <record name="ShaderEffectPrivate"
-            c:type="ClutterShaderEffectPrivate"
-            disguised="1">
-    </record>
-    <enumeration name="ShaderError"
-                 version="0.6"
-                 glib:type-name="ClutterShaderError"
-                 glib:get-type="clutter_shader_error_get_type"
-                 c:type="ClutterShaderError"
-                 glib:error-quark="clutter_shader_error_quark">
-      <doc xml:whitespace="preserve">#ClutterShader error enumeration</doc>
-      <member name="no_asm"
-              value="0"
-              c:identifier="CLUTTER_SHADER_ERROR_NO_ASM"
-              glib:nick="no-asm"/>
-      <member name="no_glsl"
-              value="1"
-              c:identifier="CLUTTER_SHADER_ERROR_NO_GLSL"
-              glib:nick="no-glsl"/>
-      <member name="compile"
-              value="2"
-              c:identifier="CLUTTER_SHADER_ERROR_COMPILE"
-              glib:nick="compile"/>
-    </enumeration>
-    <record name="ShaderFloat" c:type="ClutterShaderFloat" disguised="1">
-    </record>
-    <record name="ShaderInt" c:type="ClutterShaderInt" disguised="1">
-    </record>
-    <record name="ShaderMatrix" c:type="ClutterShaderMatrix" disguised="1">
-    </record>
-    <record name="ShaderPrivate" c:type="ClutterShaderPrivate" disguised="1">
-    </record>
-    <enumeration name="ShaderType"
-                 version="1.4"
-                 glib:type-name="ClutterShaderType"
-                 glib:get-type="clutter_shader_type_get_type"
-                 c:type="ClutterShaderType">
-      <doc xml:whitespace="preserve">The type of GLSL shader program</doc>
-      <member name="vertex_shader"
-              value="0"
-              c:identifier="CLUTTER_VERTEX_SHADER"
-              glib:nick="vertex-shader"/>
-      <member name="fragment_shader"
-              value="1"
-              c:identifier="CLUTTER_FRAGMENT_SHADER"
-              glib:nick="fragment-shader"/>
-    </enumeration>
-    <constant name="Shift_L" value="65505">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Shift_Lock" value="65510">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Shift_R" value="65506">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Shop" value="269025078">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="SingleCandidate" value="65340">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Sleep" value="269025071">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="SlowKeys_Enable" value="65139">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Spell" value="269025148">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="SplitScreen" value="269025149">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="Stage"
-           c:symbol-prefix="stage"
-           c:type="ClutterStage"
-           version="0.1"
-           parent="Group"
-           glib:type-name="ClutterStage"
-           glib:get-type="clutter_stage_get_type"
-           glib:type-struct="StageClass">
-      <doc xml:whitespace="preserve">The #ClutterStage structure contains only private data
-and should be accessed using the provided API</doc>
-      <implements name="Atk.ImplementorIface"/>
-      <implements name="Animatable"/>
-      <implements name="Container"/>
-      <implements name="Scriptable"/>
-      <constructor name="new" c:identifier="clutter_stage_new" version="0.8">
-        <doc xml:whitespace="preserve">Creates a new, non-default stage. A non-default stage is a new
-top-level actor which can be used as another container. It works
-exactly like the default stage, but while clutter_stage_get_default()
-will always return the same instance, you will have to keep a pointer
-to any #ClutterStage returned by clutter_stage_create().
-The ability to support multiple stages depends on the current
-backend. Use clutter_feature_available() and
-%CLUTTER_FEATURE_STAGE_MULTIPLE to check at runtime whether a
-backend supports multiple stages.
-not support multiple stages. Use clutter_actor_destroy() to
-programmatically close the returned stage.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a new stage, or %NULL if the default backend does</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-      </constructor>
-      <function name="get_default" c:identifier="clutter_stage_get_default">
-        <doc xml:whitespace="preserve">Returns the main stage. The default #ClutterStage is a singleton,
-so the stage will be created the first time this function is
-called (typically, inside clutter_init()); all the subsequent
-calls to clutter_stage_get_default() will return the same instance.
-Clutter guarantess the existence of the default stage.
-destroy or unref the returned actor.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the main #ClutterStage.  You should never</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-      </function>
-      <method name="ensure_current"
-              c:identifier="clutter_stage_ensure_current"
-              version="0.8">
-        <doc xml:whitespace="preserve">This function essentially makes sure the right GL context is
-current for the passed stage. It is not intended to
-be used by applications.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="ensure_redraw"
-              c:identifier="clutter_stage_ensure_redraw"
-              version="1.0">
-        <doc xml:whitespace="preserve">Ensures that @stage is redrawn
-used when embedding a #ClutterStage into a toolkit with
-another windowing system, like GTK+.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="ensure_viewport"
-              c:identifier="clutter_stage_ensure_viewport"
-              version="1.0">
-        <doc xml:whitespace="preserve">Ensures that the GL viewport is updated with the current
-stage window size.
-This function will queue a redraw of @stage.
-This function should not be called by applications; it is used
-when embedding a #ClutterStage into a toolkit with another
-windowing system, like GTK+.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="event" c:identifier="clutter_stage_event" version="0.4">
-        <doc xml:whitespace="preserve">This function is used to emit an event on the main stage.
-You should rarely need to use this function, except for
-synthetised events.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the return value from the signal emission</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="event" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterEvent</doc>
-            <type name="Event" c:type="ClutterEvent*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_actor_at_pos"
-              c:identifier="clutter_stage_get_actor_at_pos">
-        <doc xml:whitespace="preserve">Checks the scene at the coordinates @x and @y and returns a pointer
-to the #ClutterActor at those coordinates.
-By using @pick_mode it is possible to control which actors will be
-painted and thus available.
-if any</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the actor at the specified coordinates,</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-        <parameters>
-          <parameter name="pick_mode" transfer-ownership="none">
-            <doc xml:whitespace="preserve">how the scene graph should be painted</doc>
-            <type name="PickMode" c:type="ClutterPickMode"/>
-          </parameter>
-          <parameter name="x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">X coordinate to check</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Y coordinate to check</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_color" c:identifier="clutter_stage_get_color">
-        <doc xml:whitespace="preserve">Retrieves the stage color.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="color" transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for a #ClutterColor</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_fog"
-              c:identifier="clutter_stage_get_fog"
-              version="0.6">
-        <doc xml:whitespace="preserve">Retrieves the current depth cueing settings from the stage.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="fog" transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for a #ClutterFog structure</doc>
-            <type name="Fog" c:type="ClutterFog*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_fullscreen"
-              c:identifier="clutter_stage_get_fullscreen"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves whether the stage is full screen or not</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the stage is full screen</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_key_focus"
-              c:identifier="clutter_stage_get_key_focus"
-              version="0.6">
-        <doc xml:whitespace="preserve">Retrieves the actor that is currently under key focus.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the actor with key focus, or the stage</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-      </method>
-      <method name="get_minimum_size"
-              c:identifier="clutter_stage_get_minimum_size"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the minimum size for a stage window as set using
-clutter_stage_set_minimum_size().
-The returned size may not correspond to the actual minimum size and
-it is specific to the #ClutterStage implementation inside the
-Clutter backend</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="width"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the minimum width, in pixels, or %NULL</doc>
-            <type name="guint" c:type="guint*"/>
-          </parameter>
-          <parameter name="height"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the minimum height, in pixels, or %NULL</doc>
-            <type name="guint" c:type="guint*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_no_clear_hint"
-              c:identifier="clutter_stage_get_no_clear_hint"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the hint set with clutter_stage_set_no_clear_hint()
-cycle, and %FALSE otherwise</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the stage should not clear itself on every paint</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_perspective"
-              c:identifier="clutter_stage_get_perspective">
-        <doc xml:whitespace="preserve">Retrieves the stage perspective.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="perspective"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">return location for a #ClutterPerspective</doc>
-            <type name="Perspective" c:type="ClutterPerspective*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_throttle_motion_events"
-              c:identifier="clutter_stage_get_throttle_motion_events"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the value set with clutter_stage_set_throttle_motion_events()
-and %FALSE otherwise</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the motion events are being throttled,</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_title" c:identifier="clutter_stage_get_title">
-        <return-value transfer-ownership="none">
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-      <method name="get_use_alpha"
-              c:identifier="clutter_stage_get_use_alpha"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the value set using clutter_stage_set_use_alpha()
-alpha channel of the stage color</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the stage should honour the opacity and the</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_use_fog"
-              c:identifier="clutter_stage_get_use_fog"
-              version="0.6">
-        <doc xml:whitespace="preserve">Gets whether the depth cueing effect is enabled on @stage.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the the depth cueing effect is enabled</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_user_resizable"
-              c:identifier="clutter_stage_get_user_resizable"
-              version="0.4">
-        <doc xml:whitespace="preserve">Retrieves the value set with clutter_stage_set_user_resizable().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the stage is resizable by the user.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="hide_cursor"
-              c:identifier="clutter_stage_hide_cursor"
-              version="0.4">
-        <doc xml:whitespace="preserve">Makes the cursor invisible on the stage window</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="is_default"
-              c:identifier="clutter_stage_is_default"
-              version="0.8">
-        <doc xml:whitespace="preserve">Checks if @stage is the default stage, or an instance created using
-clutter_stage_new() but internally using the same implementation.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the passed stage is the default one</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="queue_redraw"
-              c:identifier="clutter_stage_queue_redraw"
-              version="0.8">
-        <doc xml:whitespace="preserve">Queues a redraw for the passed stage.
-&lt;note&gt;Applications should call clutter_actor_queue_redraw() and not
-this function.&lt;/note&gt;
-&lt;note&gt;This function is just a wrapper for clutter_actor_queue_redraw()
-and should probably go away.&lt;/note&gt;</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="read_pixels" c:identifier="clutter_stage_read_pixels">
-        <doc xml:whitespace="preserve">Makes a screenshot of the stage in RGBA 8bit data, returns a
-linear buffer with @width * 4 as rowstride.
-The alpha data contained in the returned buffer is driver-dependent,
-and not guaranteed to hold any sensible value.
-or %NULL if the read failed. Use g_free() on the returned data
-to release the resources it has allocated.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to newly allocated memory with the buffer</doc>
-          <type name="guint8" c:type="guchar*"/>
-        </return-value>
-        <parameters>
-          <parameter name="x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">x coordinate of the first pixel that is read from stage</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">y coordinate of the first pixel that is read from stage</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="width" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Width dimention of pixels to be read, or -1 for the entire stage width</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="height" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Height dimention of pixels to be read, or -1 for the entire stage height</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_color" c:identifier="clutter_stage_set_color">
-        <doc xml:whitespace="preserve">Sets the stage color.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="color" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A #ClutterColor</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_fog"
-              c:identifier="clutter_stage_set_fog"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sets the fog (also known as "depth cueing") settings for the @stage.
-A #ClutterStage will only use a linear fog progression, which
-depends solely on the distance from the viewer. The cogl_set_fog()
-function in COGL exposes more of the underlying implementation,
-and allows changing the for progression function. It can be directly
-used by disabling the #ClutterStage:use-fog property and connecting
-a signal handler to the #ClutterActor::paint signal on the @stage,
-like:
-|[
-clutter_stage_set_use_fog (stage, FALSE);
-g_signal_connect (stage, "paint", G_CALLBACK (on_stage_paint), NULL);
-]|
-The paint signal handler will call cogl_set_fog() with the
-desired settings:
-|[
-static void
-on_stage_paint (ClutterActor *actor)
-{
-ClutterColor stage_color = { 0, };
-CoglColor fog_color = { 0, };
-/&amp;ast; set the fog color to the stage background color &amp;ast;/
-clutter_stage_get_color (CLUTTER_STAGE (actor), &amp;amp;stage_color);
-cogl_color_init_from_4ub (&amp;amp;fog_color,
-stage_color.red,
-stage_color.green,
-stage_color.blue,
-stage_color.alpha);
-/&amp;ast; enable fog &amp;ast;/
-cogl_set_fog (&amp;amp;fog_color,
-COGL_FOG_MODE_EXPONENTIAL, /&amp;ast; mode &amp;ast;/
-0.5,                       /&amp;ast; density &amp;ast;/
-5.0, 30.0);                /&amp;ast; z_near and z_far &amp;ast;/
-}
-]|
-&lt;note&gt;The fogging functions only work correctly when the visible actors use
-unmultiplied alpha colors. By default Cogl will premultiply textures and
-cogl_set_source_color() will premultiply colors, so unless you explicitly
-load your textures requesting an unmultiplied internal format and use
-cogl_material_set_color() you can only use fogging with fully opaque actors.
-Support for premultiplied colors will improve in the future when we can
-depend on fragment shaders.&lt;/note&gt;</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="fog" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterFog structure</doc>
-            <type name="Fog" c:type="ClutterFog*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_fullscreen"
-              c:identifier="clutter_stage_set_fullscreen"
-              version="1.0">
-        <doc xml:whitespace="preserve">Asks to place the stage window in the fullscreen or unfullscreen
-states.
-afterward, because other entities (e.g. the user or window manager)
-could unfullscreen it again, and not all window managers honor
-requests to fullscreen windows.
-If you want to receive notification of the fullscreen state you
-should either use the #ClutterStage::fullscreen and
-#ClutterStage::unfullscreen signals, or use the notify signal
-for the #ClutterStage:fullscreen-set property</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="fullscreen" transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE to to set the stage fullscreen</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_key_focus"
-              c:identifier="clutter_stage_set_key_focus"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sets the key focus on @actor. An actor with key focus will receive
-all the key events. If @actor is %NULL, the stage will receive
-focus.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the actor to set key focus to, or %NULL</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_minimum_size"
-              c:identifier="clutter_stage_set_minimum_size"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets the minimum size for a stage window, if the default backend
-uses #ClutterStage inside a window
-This is a convenience function, and it is equivalent to setting the
-#ClutterActor:min-width and #ClutterActor:min-height on @stage
-If the current size of @stage is smaller than the minimum size, the
-This function has no effect if @stage is fullscreen</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="width" transfer-ownership="none">
-            <doc xml:whitespace="preserve">width, in pixels</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="height" transfer-ownership="none">
-            <doc xml:whitespace="preserve">height, in pixels</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_no_clear_hint"
-              c:identifier="clutter_stage_set_no_clear_hint"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets whether the @stage should clear itself at the beginning
-of each paint cycle or not.
-Clearing the #ClutterStage can be a costly operation, especially
-if the stage is always covered - for instance, in a full-screen
-video player or in a game with a background texture.
-&lt;note&gt;&lt;para&gt;This setting is a hint; Clutter might discard this
-hint depending on its internal state.&lt;/para&gt;&lt;/note&gt;
-&lt;warning&gt;&lt;para&gt;If parts of the stage are visible and you disable
-clearing you might end up with visual artifacts while painting the
-contents of the stage.&lt;/para&gt;&lt;/warning&gt;</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="no_clear" transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE if the @stage should not clear itself on every repaint cycle</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_perspective"
-              c:identifier="clutter_stage_set_perspective">
-        <doc xml:whitespace="preserve">Sets the stage perspective.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="perspective" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A #ClutterPerspective</doc>
-            <type name="Perspective" c:type="ClutterPerspective*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_throttle_motion_events"
-              c:identifier="clutter_stage_set_throttle_motion_events"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets whether motion events received between redraws should
-be throttled or not. If motion events are throttled, those
-events received by the windowing system between redraws will
-be compressed so that only the last event will be propagated
-to the @stage and its actors.
-This function should only be used if you want to have all
-the motion events delivered to your application code.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="throttle" transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE to throttle motion events</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_title" c:identifier="clutter_stage_set_title">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="title" transfer-ownership="none">
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_use_alpha"
-              c:identifier="clutter_stage_set_use_alpha"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets whether the @stage should honour the #ClutterActor:opacity and
-the alpha channel of the #ClutterStage:color</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="use_alpha" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether the stage should honour the opacity or the alpha channel of the stage color</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_use_fog"
-              c:identifier="clutter_stage_set_use_fog"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sets whether the depth cueing effect on the stage should be enabled
-or not.
-Depth cueing is a 3D effect that makes actors farther away from the
-viewing point less opaque, by fading them with the stage color.
-The parameters of the GL fog used can be changed using the
-clutter_stage_set_fog() function.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="fog" transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE for enabling the depth cueing effect</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_user_resizable"
-              c:identifier="clutter_stage_set_user_resizable"
-              version="0.4">
-        <doc xml:whitespace="preserve">Sets if the stage is resizable by user interaction (e.g. via
-window manager controls)</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="resizable" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether the stage should be user resizable.</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="show_cursor" c:identifier="clutter_stage_show_cursor">
-        <doc xml:whitespace="preserve">Shows the cursor on the stage window</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <property name="color" writable="1" transfer-ownership="none">
-        <doc xml:whitespace="preserve">The color of the main stage.</doc>
-        <type name="Color"/>
-      </property>
-      <property name="cursor-visible" writable="1" transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the mouse pointer should be visible</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="fog"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The settings for the GL "fog", used only if #ClutterStage:use-fog
-is set to %TRUE</doc>
-        <type name="Fog"/>
-      </property>
-      <property name="fullscreen-set" transfer-ownership="none">
-        <type name="gboolean"/>
-      </property>
-      <property name="key-focus"
-                version="1.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The #ClutterActor that will receive key events from the underlying
-windowing system.
-If %NULL, the #ClutterStage will receive the events.</doc>
-        <type name="Actor"/>
-      </property>
-      <property name="no-clear-hint"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether or not the #ClutterStage should clear its contents
-before each paint cycle.
-See clutter_stage_set_no_clear_hint() for further information.</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="offscreen" writable="1" transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the stage should be rendered in an offscreen buffer.
-&lt;warning&gt;&lt;para&gt;Not every backend supports redirecting the
-stage to an offscreen buffer. This property might not work
-and it might be deprecated at any later date.&lt;/para&gt;&lt;/warning&gt;</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="perspective"
-                version="0.8.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The parameters used for the perspective projection from 3D
-coordinates to 2D</doc>
-        <type name="Perspective"/>
-      </property>
-      <property name="title"
-                version="0.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The stage's title - usually displayed in stage windows title decorations.</doc>
-        <type name="utf8"/>
-      </property>
-      <property name="use-alpha"
-                version="1.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the #ClutterStage should honour the alpha component of the
-#ClutterStage:color property when painting. If Clutter is run under
-a compositing manager this will result in the stage being blended
-with the underlying window(s)</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="use-fog"
-                version="0.6"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the stage should use a linear GL "fog" in creating the
-depth-cueing effect, to enhance the perception of depth by fading
-actors farther from the viewpoint.</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="user-resizable"
-                version="0.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the stage is resizable via user interaction.</doc>
-        <type name="gboolean"/>
-      </property>
-      <field name="parent_instance">
-        <type name="Group" c:type="ClutterGroup"/>
-      </field>
-      <field name="priv">
-        <type name="StagePrivate" c:type="ClutterStagePrivate*"/>
-      </field>
-      <glib:signal name="activate">
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="deactivate">
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="delete-event" version="1.2">
-        <doc xml:whitespace="preserve">The ::delete-event signal is emitted when the user closes a
-#ClutterStage window using the window controls.
-Clutter by default will call clutter_main_quit() if @stage is
-the default stage, and clutter_actor_destroy() for any other
-stage.
-It is possible to override the default behaviour by connecting
-a new handler and returning %TRUE there.
-&lt;note&gt;This signal is emitted only on Clutter backends that
-embed #ClutterStage in native windows. It is not emitted for
-backends that use a static frame buffer.&lt;/note&gt;</doc>
-        <return-value transfer-ownership="none">
-          <type name="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterEvent of type %CLUTTER_DELETE</doc>
-            <type name="Event"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="fullscreen">
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="unfullscreen">
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-    </class>
-    <record name="StageClass"
-            c:type="ClutterStageClass"
-            glib:is-gtype-struct-for="Stage"
-            version="0.1">
-      <doc xml:whitespace="preserve">The #ClutterStageClass structure contains only private data</doc>
-      <field name="parent_class">
-        <type name="GroupClass" c:type="ClutterGroupClass"/>
-      </field>
-      <field name="fullscreen">
-        <callback name="fullscreen">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="stage" transfer-ownership="none">
-              <type name="Stage" c:type="ClutterStage*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="unfullscreen">
-        <callback name="unfullscreen">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="stage" transfer-ownership="none">
-              <type name="Stage" c:type="ClutterStage*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="activate">
-        <callback name="activate">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="stage" transfer-ownership="none">
-              <type name="Stage" c:type="ClutterStage*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="deactivate">
-        <callback name="deactivate">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="stage" transfer-ownership="none">
-              <type name="Stage" c:type="ClutterStage*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="delete_event">
-        <callback name="delete_event">
-          <return-value transfer-ownership="none">
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="stage" transfer-ownership="none">
-              <type name="Stage" c:type="ClutterStage*"/>
-            </parameter>
-            <parameter name="event" transfer-ownership="none">
-              <type name="Event" c:type="ClutterEvent*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_padding_dummy">
-        <array zero-terminated="0" c:type="gpointer" fixed-size="31">
-          <type name="gpointer" c:type="gpointer"/>
-        </array>
-      </field>
-    </record>
-    <class name="StageManager"
-           c:symbol-prefix="stage_manager"
-           c:type="ClutterStageManager"
-           version="1.0"
-           parent="GObject.Object"
-           glib:type-name="ClutterStageManager"
-           glib:get-type="clutter_stage_manager_get_type"
-           glib:type-struct="StageManagerClass">
-      <doc xml:whitespace="preserve">The #ClutterStageManager structure is private.</doc>
-      <function name="get_default"
-                c:identifier="clutter_stage_manager_get_default"
-                version="0.8">
-        <doc xml:whitespace="preserve">Returns the default #ClutterStageManager.
-object is owned by Clutter and you should not reference or unreference it.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the default stage manager instance. The returned</doc>
-          <type name="StageManager" c:type="ClutterStageManager*"/>
-        </return-value>
-      </function>
-      <method name="get_default_stage"
-              c:identifier="clutter_stage_manager_get_default_stage"
-              version="0.8">
-        <doc xml:whitespace="preserve">Returns the default #ClutterStage.
-is owned by Clutter and you should never reference or unreference it</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the default stage. The returned object</doc>
-          <type name="Stage" c:type="ClutterStage*"/>
-        </return-value>
-      </method>
-      <method name="list_stages"
-              c:identifier="clutter_stage_manager_list_stages"
-              version="0.8">
-        <doc xml:whitespace="preserve">Lists all currently used stages.
-allocated list of #ClutterStage objects. Use g_slist_free() to
-deallocate it when done.</doc>
-        <return-value transfer-ownership="container">
-          <doc xml:whitespace="preserve">a newly</doc>
-          <type name="GLib.SList" c:type="GSList*">
-            <type name="Stage"/>
-          </type>
-        </return-value>
-      </method>
-      <method name="peek_stages"
-              c:identifier="clutter_stage_manager_peek_stages"
-              version="1.0">
-        <doc xml:whitespace="preserve">Lists all currently used stages.
-to the internal list of #ClutterStage objects. The returned list
-is owned by the #ClutterStageManager and should never be modified
-or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer</doc>
-          <type name="GLib.SList" c:type="GSList*">
-            <type name="Stage"/>
-          </type>
-        </return-value>
-      </method>
-      <method name="set_default_stage"
-              c:identifier="clutter_stage_manager_set_default_stage"
-              version="0.8"
-              deprecated="Calling this function has no effect"
-              deprecated-version="1.2">
-        <doc xml:whitespace="preserve">Sets @stage as the default stage.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="stage" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterStage</doc>
-            <type name="Stage" c:type="ClutterStage*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="default-stage" version="0.8" transfer-ownership="none">
-        <doc xml:whitespace="preserve">The default stage used by Clutter.</doc>
-        <type name="Stage"/>
-      </property>
-      <glib:signal name="stage-added" version="0.8">
-        <doc xml:whitespace="preserve">The ::stage-added signal is emitted each time a new #ClutterStage
-has been added to the stage manager.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the added stage</doc>
-            <type name="Stage"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="stage-removed" version="0.8">
-        <doc xml:whitespace="preserve">The ::stage-removed signal is emitted each time a #ClutterStage
-has been removed from the stage manager.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the removed stage</doc>
-            <type name="Stage"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-    </class>
-    <record name="StageManagerClass"
-            c:type="ClutterStageManagerClass"
-            glib:is-gtype-struct-for="StageManager"
-            version="1.0">
-      <doc xml:whitespace="preserve">The #ClutterStageManagerClass structure contains only private data
-and should be accessed using the provided API</doc>
-      <field name="parent_class">
-        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
-      </field>
-      <field name="stage_added">
-        <callback name="stage_added">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="stage_manager" transfer-ownership="none">
-              <type name="StageManager" c:type="ClutterStageManager*"/>
-            </parameter>
-            <parameter name="stage" transfer-ownership="none">
-              <type name="Stage" c:type="ClutterStage*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="stage_removed">
-        <callback name="stage_removed">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="stage_manager" transfer-ownership="none">
-              <type name="StageManager" c:type="ClutterStageManager*"/>
-            </parameter>
-            <parameter name="stage" transfer-ownership="none">
-              <type name="Stage" c:type="ClutterStage*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-    </record>
-    <record name="StagePrivate" c:type="ClutterStagePrivate" disguised="1">
-    </record>
-    <bitfield name="StageState"
-              version="0.4"
-              glib:type-name="ClutterStageState"
-              glib:get-type="clutter_stage_state_get_type"
-              c:type="ClutterStageState">
-      <doc xml:whitespace="preserve">Stage state masks</doc>
-      <member name="fullscreen"
-              value="2"
-              c:identifier="CLUTTER_STAGE_STATE_FULLSCREEN"
-              glib:nick="fullscreen"/>
-      <member name="offscreen"
-              value="4"
-              c:identifier="CLUTTER_STAGE_STATE_OFFSCREEN"
-              glib:nick="offscreen"/>
-      <member name="activated"
-              value="8"
-              c:identifier="CLUTTER_STAGE_STATE_ACTIVATED"
-              glib:nick="activated"/>
-    </bitfield>
-    <record name="StageStateEvent"
-            c:type="ClutterStageStateEvent"
-            version="0.2">
-      <doc xml:whitespace="preserve">Event signalling a change in the #ClutterStage state.</doc>
-      <field name="type" writable="1">
-        <type name="EventType" c:type="ClutterEventType"/>
-      </field>
-      <field name="time" writable="1">
-        <type name="guint32" c:type="guint32"/>
-      </field>
-      <field name="flags" writable="1">
-        <type name="EventFlags" c:type="ClutterEventFlags"/>
-      </field>
-      <field name="stage" writable="1">
-        <type name="Stage" c:type="ClutterStage*"/>
-      </field>
-      <field name="source" writable="1">
-        <type name="Actor" c:type="ClutterActor*"/>
-      </field>
-      <field name="changed_mask" writable="1">
-        <type name="StageState" c:type="ClutterStageState"/>
-      </field>
-      <field name="new_state" writable="1">
-        <type name="StageState" c:type="ClutterStageState"/>
-      </field>
-    </record>
-    <interface name="StageWindow"
-               c:symbol-prefix="stage_window"
-               c:type="ClutterStageWindow"
-               version="0.8"
-               glib:type-name="ClutterStageWindow"
-               glib:get-type="clutter_stage_window_get_type"
-               glib:type-struct="StageWindowIface">
-      <doc xml:whitespace="preserve">&lt;structname&gt;ClutterStageWindow&lt;/structname&gt; is an opaque structure
-whose members should not be accessed directly</doc>
-      <virtual-method name="add_redraw_clip">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="stage_rectangle" transfer-ownership="none">
-            <type name="Geometry" c:type="ClutterGeometry*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="get_geometry">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="geometry" transfer-ownership="none">
-            <type name="Geometry" c:type="ClutterGeometry*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="get_pending_swaps">
-        <return-value transfer-ownership="none">
-          <type name="gint" c:type="int"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="get_wrapper" introspectable="0">
-        <return-value>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="has_redraw_clips">
-        <return-value transfer-ownership="none">
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="hide">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="ignoring_redraw_clips">
-        <return-value transfer-ownership="none">
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="realize">
-        <return-value transfer-ownership="none">
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="resize">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="width" transfer-ownership="none">
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="height" transfer-ownership="none">
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="set_cursor_visible">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="cursor_visible" transfer-ownership="none">
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="set_fullscreen">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="is_fullscreen" transfer-ownership="none">
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="set_title">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="title" transfer-ownership="none">
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="set_user_resizable">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="is_resizable" transfer-ownership="none">
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="show">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="do_raise" transfer-ownership="none">
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="unrealize">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </virtual-method>
-    </interface>
-    <record name="StageWindowIface"
-            c:type="ClutterStageWindowIface"
-            glib:is-gtype-struct-for="StageWindow"
-            version="0.8">
-      <doc xml:whitespace="preserve">The interface implemented by backends for stage windows</doc>
-      <field name="parent_iface">
-        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
-      </field>
-      <field name="get_wrapper" introspectable="0">
-        <callback name="get_wrapper" introspectable="0">
-          <return-value>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </return-value>
-          <parameters>
-            <parameter name="stage_window" transfer-ownership="none">
-              <type name="StageWindow" c:type="ClutterStageWindow*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="set_title">
-        <callback name="set_title">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="stage_window" transfer-ownership="none">
-              <type name="StageWindow" c:type="ClutterStageWindow*"/>
-            </parameter>
-            <parameter name="title" transfer-ownership="none">
-              <type name="utf8" c:type="gchar*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="set_fullscreen">
-        <callback name="set_fullscreen">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="stage_window" transfer-ownership="none">
-              <type name="StageWindow" c:type="ClutterStageWindow*"/>
-            </parameter>
-            <parameter name="is_fullscreen" transfer-ownership="none">
-              <type name="gboolean" c:type="gboolean"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="set_cursor_visible">
-        <callback name="set_cursor_visible">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="stage_window" transfer-ownership="none">
-              <type name="StageWindow" c:type="ClutterStageWindow*"/>
-            </parameter>
-            <parameter name="cursor_visible" transfer-ownership="none">
-              <type name="gboolean" c:type="gboolean"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="set_user_resizable">
-        <callback name="set_user_resizable">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="stage_window" transfer-ownership="none">
-              <type name="StageWindow" c:type="ClutterStageWindow*"/>
-            </parameter>
-            <parameter name="is_resizable" transfer-ownership="none">
-              <type name="gboolean" c:type="gboolean"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="realize">
-        <callback name="realize">
-          <return-value transfer-ownership="none">
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="stage_window" transfer-ownership="none">
-              <type name="StageWindow" c:type="ClutterStageWindow*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="unrealize">
-        <callback name="unrealize">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="stage_window" transfer-ownership="none">
-              <type name="StageWindow" c:type="ClutterStageWindow*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="show">
-        <callback name="show">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="stage_window" transfer-ownership="none">
-              <type name="StageWindow" c:type="ClutterStageWindow*"/>
-            </parameter>
-            <parameter name="do_raise" transfer-ownership="none">
-              <type name="gboolean" c:type="gboolean"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="hide">
-        <callback name="hide">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="stage_window" transfer-ownership="none">
-              <type name="StageWindow" c:type="ClutterStageWindow*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="resize">
-        <callback name="resize">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="stage_window" transfer-ownership="none">
-              <type name="StageWindow" c:type="ClutterStageWindow*"/>
-            </parameter>
-            <parameter name="width" transfer-ownership="none">
-              <type name="gint" c:type="gint"/>
-            </parameter>
-            <parameter name="height" transfer-ownership="none">
-              <type name="gint" c:type="gint"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="get_geometry">
-        <callback name="get_geometry">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="stage_window" transfer-ownership="none">
-              <type name="StageWindow" c:type="ClutterStageWindow*"/>
-            </parameter>
-            <parameter name="geometry" transfer-ownership="none">
-              <type name="Geometry" c:type="ClutterGeometry*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="get_pending_swaps">
-        <callback name="get_pending_swaps">
-          <return-value transfer-ownership="none">
-            <type name="gint" c:type="int"/>
-          </return-value>
-          <parameters>
-            <parameter name="stage_window" transfer-ownership="none">
-              <type name="StageWindow" c:type="ClutterStageWindow*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="add_redraw_clip">
-        <callback name="add_redraw_clip">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="stage_window" transfer-ownership="none">
-              <type name="StageWindow" c:type="ClutterStageWindow*"/>
-            </parameter>
-            <parameter name="stage_rectangle" transfer-ownership="none">
-              <type name="Geometry" c:type="ClutterGeometry*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="has_redraw_clips">
-        <callback name="has_redraw_clips">
-          <return-value transfer-ownership="none">
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="stage_window" transfer-ownership="none">
-              <type name="StageWindow" c:type="ClutterStageWindow*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="ignoring_redraw_clips">
-        <callback name="ignoring_redraw_clips">
-          <return-value transfer-ownership="none">
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="stage_window" transfer-ownership="none">
-              <type name="StageWindow" c:type="ClutterStageWindow*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-    </record>
-    <constant name="Standby" value="269025040">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Start" value="269025050">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="State"
-           c:symbol-prefix="state"
-           c:type="ClutterState"
-           version="1.4"
-           parent="GObject.Object"
-           glib:type-name="ClutterState"
-           glib:get-type="clutter_state_get_type"
-           glib:type-struct="StateClass">
-      <doc xml:whitespace="preserve">The &lt;structname&gt;ClutterState&lt;/structname&gt; structure contains only
-private data and should be accessed using the provided API</doc>
-      <implements name="Scriptable"/>
-      <constructor name="new" c:identifier="clutter_state_new">
-        <doc xml:whitespace="preserve">Creates a new #ClutterState</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly create #ClutterState instance</doc>
-          <type name="State" c:type="ClutterState*"/>
-        </return-value>
-      </constructor>
-      <method name="get_animator"
-              c:identifier="clutter_state_get_animator"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterAnimator that is being used for transitioning
-between the two states, if any has been set</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterAnimator instance, or %NULL</doc>
-          <type name="Animator" c:type="ClutterAnimator*"/>
-        </return-value>
-        <parameters>
-          <parameter name="source_state_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of a source state</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="target_state_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of a target state</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_duration"
-              c:identifier="clutter_state_get_duration"
-              version="1.4">
-        <doc xml:whitespace="preserve">Queries the duration used for transitions between a source and
-target state pair
-The semantics for the query are the same as the semantics used for
-setting the duration with clutter_state_set_duration()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the duration, in milliseconds</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-        <parameters>
-          <parameter name="source_state_name"
-                     transfer-ownership="none"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">the name of the source state to get the duration of, or %NULL</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="target_state_name"
-                     transfer-ownership="none"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">the name of the source state to get the duration of, or %NULL</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_keys"
-              c:identifier="clutter_state_get_keys"
-              version="1.4">
-        <doc xml:whitespace="preserve">Returns a list of pointers to opaque structures with accessor functions
-that describe the keys added to an animator.
-newly allocated #GList of #ClutterStateKey&lt;!-- --&gt;s. The contents of
-the returned list are owned by the #ClutterState and should not be
-modified or freed. Use g_list_free() to free the resources allocated
-by the returned list when done using it</doc>
-        <return-value transfer-ownership="container">
-          <doc xml:whitespace="preserve">a</doc>
-          <type name="GLib.List" c:type="GList*">
-            <type name="StateKey"/>
-          </type>
-        </return-value>
-        <parameters>
-          <parameter name="source_state_name"
-                     transfer-ownership="none"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">the source transition name to query, or %NULL for all source states</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="target_state_name"
-                     transfer-ownership="none"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">the target transition name to query, or %NULL for all target states</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="object" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the specific object instance to list keys for, or %NULL for all managed objects</doc>
-            <type name="GObject.Object" c:type="GObject*"/>
-          </parameter>
-          <parameter name="property_name"
-                     transfer-ownership="none"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">the property name to search for, or %NULL for all properties.</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_state"
-              c:identifier="clutter_state_get_state"
-              version="1.4">
-        <doc xml:whitespace="preserve">Queries the currently set target state.
-During a transition this function will return the target of the transition.
-This function is useful when called from handlers of the
-#ClutterState::completed signal.
-is owned by the #ClutterState and should not be modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a string containing the target state. The returned string</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-      <method name="get_states"
-              c:identifier="clutter_state_get_states"
-              version="1.4">
-        <doc xml:whitespace="preserve">Gets a list of all the state names managed by this #ClutterState.
-#GList of state names. The contents of the returned #GList are owned
-by the #ClutterState and should not be modified or freed. Use
-g_list_free() to free the resources allocated by the returned list when
-done using it</doc>
-        <return-value transfer-ownership="container">
-          <doc xml:whitespace="preserve">a newly allocated</doc>
-          <type name="GLib.List" c:type="GList*">
-            <type name="utf8"/>
-          </type>
-        </return-value>
-      </method>
-      <method name="get_timeline"
-              c:identifier="clutter_state_get_timeline"
-              version="1.4">
-        <doc xml:whitespace="preserve">Gets the timeline driving the #ClutterState
-the state change animations. The returned timeline is owned
-by the #ClutterState and it should not be unreferenced directly</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #ClutterTimeline that drives</doc>
-          <type name="Timeline" c:type="ClutterTimeline*"/>
-        </return-value>
-      </method>
-      <method name="remove_key"
-              c:identifier="clutter_state_remove_key"
-              version="1.4">
-        <doc xml:whitespace="preserve">Removes all keys matching the search criteria passed in arguments.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="source_state_name"
-                     transfer-ownership="none"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">the source state name to query, or %NULL for all source states</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="target_state_name"
-                     transfer-ownership="none"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">the target state name to query, or %NULL for all target states</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="object" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the specific object instance to list keys for, or %NULL for all managed objects</doc>
-            <type name="GObject.Object" c:type="GObject*"/>
-          </parameter>
-          <parameter name="property_name"
-                     transfer-ownership="none"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">the property name to search for, or %NULL for all properties.</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set"
-              c:identifier="clutter_state_set"
-              version="1.4"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Adds multiple keys to a named state of a #ClutterState instance, specifying
-the easing mode and value a given property of an object should have at a
-given progress of the animation.
-The mode specified is the easing mode used when going to from the previous
-key to the specified key.
-For instance, the code below:
-|[
-clutter_state_set (state, NULL, "hover",
-button, "opacity", 255, CLUTTER_LINEAR,
-button, "scale-x", 1.2, CLUTTER_EASE_OUT_CUBIC,
-button, "scale-y", 1.2, CLUTTER_EASE_OUT_CUBIC,
-NULL);
-]|
-will create a transition from any state (a @source_state_name of NULL is
-treated as a wildcard) and a state named "hover"; the
-&lt;emphasis&gt;button&lt;/emphasis&gt; object will have the #ClutterActor:opacity
-property animated to a value of 255 using %CLUTTER_LINEAR as the animation
-mode, and the #ClutterActor:scale-x and #ClutterActor:scale-y properties
-animated to a value of 1.2 using %CLUTTER_EASE_OUT_CUBIC as the animation
-mode. To change the state (and start the transition) you can use the
-clutter_state_change() function:
-|[
-clutter_state_change (state, "hover", TRUE);
-]|
-If a given object, state_name, property tuple already exist in the
-#ClutterState instance, then the mode and value will be replaced with
-the new specified values.
-If a property name is prefixed with "delayed::" two additional
-to pause before transitioning and a similar value to pause after
-transitioning, e.g.:
-|[
-clutter_state_set (state, "hover", "toggled",
-button, "delayed::scale-x", 1.0, 0.2, 0.2,
-button, "delayed::scale-y", 1.0, 0.2, 0.2,
-NULL);
-]|
-will pause for 20% of the duration of the transition before animating,
-and 20% of the duration after animating.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="source_state_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the source state keys are being added for</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="target_state_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the target state keys are being added for</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="first_object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GObject</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-          <parameter name="first_property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a property of @first_object to specify a key for</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="first_mode" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the id of the alpha function to use</doc>
-            <type name="gulong" c:type="gulong"/>
-          </parameter>
-          <parameter transfer-ownership="none">
-            <varargs>
-            </varargs>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_animator"
-              c:identifier="clutter_state_set_animator"
-              version="1.4">
-        <doc xml:whitespace="preserve">Specifies a #ClutterAnimator to be used when transitioning between
-the two named states.
-The @animator allows specifying a transition between the state that is
-more elaborate than the basic transitions allowed by the tweening of
-properties defined in the #ClutterState keys.
-If @animator is %NULL it will unset an existing animator.
-#ClutterState will take a reference on the passed @animator, if any</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="source_state_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of a source state</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="target_state_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of a target state</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="animator" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #ClutterAnimator instance, or %NULL to unset an existing #ClutterAnimator</doc>
-            <type name="Animator" c:type="ClutterAnimator*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_duration"
-              c:identifier="clutter_state_set_duration"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the duration of a transition.
-If both state names are %NULL the default duration for @state is set.
-If only @target_state_name is specified, the passed @duration becomes
-the default duration for transitions to the target state.
-If both states names are specified, the passed @duration only applies
-to the specified transition.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="source_state_name"
-                     transfer-ownership="none"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">the name of the source state, or %NULL</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="target_state_name"
-                     transfer-ownership="none"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">the name of the target state, or %NULL</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="duration" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the duration of the transition, in milliseconds</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_key"
-              c:identifier="clutter_state_set_key"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets one specific end key for a state_name, object, property_name
-combination.
-chaining of multiple calls</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #ClutterState instance, allowing</doc>
-          <type name="State" c:type="ClutterState*"/>
-        </return-value>
-        <parameters>
-          <parameter name="source_state_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the source transition to specify transition for or NULL to specify the default fallback when a more specific source_state doesn't exist.</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="target_state_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the transition to set a key value for.</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #GObject to set a key for</doc>
-            <type name="GObject.Object" c:type="GObject*"/>
-          </parameter>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the property to set a key for</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="mode" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the id of the alpha function to use</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value for property_name of object in state_name</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-          <parameter name="pre_delay" transfer-ownership="none">
-            <doc xml:whitespace="preserve">relative time of the transition to be idle in the beginning of the transition</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-          <parameter name="post_delay" transfer-ownership="none">
-            <doc xml:whitespace="preserve">relative time of the transition to be idle in the end of the transition</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_state"
-              c:identifier="clutter_state_set_state"
-              version="1.4">
-        <doc xml:whitespace="preserve">Change the current state of #ClutterState to @target_state_name
-The state will animate during its transition, see
-#clutter_state_warp_to_state for animation-free state switching.
-state transition. The returned timeline is owned by the #ClutterState
-and it should not be unreferenced</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #ClutterTimeline that drives the</doc>
-          <type name="Timeline" c:type="ClutterTimeline*"/>
-        </return-value>
-        <parameters>
-          <parameter name="target_state_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the state to transition to</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="warp_to_state"
-              c:identifier="clutter_state_warp_to_state"
-              version="1.4">
-        <doc xml:whitespace="preserve">Change the current state of #ClutterState to @target_state_name
-Change to the specified target state immediately with no animation.
-state transition. The returned timeline is owned by the #ClutterState
-and it should not be unreferenced</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #ClutterTimeline that drives the</doc>
-          <type name="Timeline" c:type="ClutterTimeline*"/>
-        </return-value>
-        <parameters>
-          <parameter name="target_state_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the state to transition to</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="duration" writable="1" transfer-ownership="none">
-        <doc xml:whitespace="preserve">Default duration used if an duration has not been specified for a specific
-source/target state pair. The values is in milliseconds.</doc>
-        <type name="guint"/>
-      </property>
-      <property name="state" writable="1" transfer-ownership="none">
-        <doc xml:whitespace="preserve">The currently set target state, setting it causes the
-state machine to transition to the new state, use
-clutter_state_change() with a final FALSE argument to
-change state without a transition.</doc>
-        <type name="utf8"/>
-      </property>
-      <field name="parent">
-        <type name="GObject.Object" c:type="GObject"/>
-      </field>
-      <field name="priv">
-        <type name="StatePrivate" c:type="ClutterStatePrivate*"/>
-      </field>
-      <glib:signal name="completed" version="1.4">
-        <doc xml:whitespace="preserve">The ::completed signal is emitted when a #ClutterState reaches
-the target state specified by clutter_state_change()</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-    </class>
-    <record name="StateClass"
-            c:type="ClutterStateClass"
-            glib:is-gtype-struct-for="State"
-            version="1.4">
-      <doc xml:whitespace="preserve">The &lt;structname&gt;ClutterStateClass&lt;/structname&gt; structure contains
-only private data</doc>
-      <field name="parent_class">
-        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
-      </field>
-      <field name="completed">
-        <callback name="completed">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="state" transfer-ownership="none">
-              <type name="State" c:type="ClutterState*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_padding_dummy">
-        <array zero-terminated="0" c:type="gpointer" fixed-size="8">
-          <type name="gpointer" c:type="gpointer"/>
-        </array>
-      </field>
-    </record>
-    <record name="StateKey"
-            c:type="ClutterStateKey"
-            version="1.4"
-            glib:type-name="ClutterStateKey"
-            glib:get-type="clutter_state_key_get_type"
-            c:symbol-prefix="state_key">
-      <doc xml:whitespace="preserve">&lt;structname&gt;ClutterStateKey&lt;/structname&gt; is an opaque structure whose
-members cannot be accessed directly</doc>
-      <method name="get_mode"
-              c:identifier="clutter_state_key_get_mode"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the easing mode used for @state_key.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the mode of a #ClutterStateKey</doc>
-          <type name="gulong" c:type="gulong"/>
-        </return-value>
-      </method>
-      <method name="get_object"
-              c:identifier="clutter_state_key_get_object"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the object instance this #ClutterStateKey applies to.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the object this state key applies to.</doc>
-          <type name="GObject.Object" c:type="GObject*"/>
-        </return-value>
-      </method>
-      <method name="get_post_delay"
-              c:identifier="clutter_state_key_get_post_delay"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the duration of the pause after transitioning is complete
-as a fraction of the total transition time.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the post delay, used after doing the transition.</doc>
-          <type name="gdouble" c:type="gdouble"/>
-        </return-value>
-      </method>
-      <method name="get_pre_delay"
-              c:identifier="clutter_state_key_get_pre_delay"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the pause before transitioning starts as a fraction of
-the total transition time.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the pre delay used before starting the transition.</doc>
-          <type name="gdouble" c:type="gdouble"/>
-        </return-value>
-      </method>
-      <method name="get_property_name"
-              c:identifier="clutter_state_key_get_property_name"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the name of the property this #ClutterStateKey applies to
-by the #ClutterStateKey and should never be modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the name of the property. The returned string is owned</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-      <method name="get_property_type"
-              c:identifier="clutter_state_key_get_property_type"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the #GType of the property a key applies to
-You can use this type to initialize the #GValue to pass to
-clutter_state_key_get_value()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GType of the property</doc>
-          <type name="GType" c:type="GType"/>
-        </return-value>
-      </method>
-      <method name="get_source_state_name"
-              c:identifier="clutter_state_key_get_source_state_name"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the name of the source state of the @state_key
-if this is the generic state key for the given property when
-transitioning to the target state. The returned string is owned
-by the #ClutterStateKey and should never be modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the name of the source state for this key, or %NULL</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-      <method name="get_target_state_name"
-              c:identifier="clutter_state_key_get_target_state_name"
-              version="1.4">
-        <doc xml:whitespace="preserve">Get the name of the source state this #ClutterStateKey contains,
-or NULL if this is the generic state key for the given property
-when transitioning to the target state.
-the key is generic</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the name of the source state for this key, or NULL if</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-      <method name="get_value"
-              c:identifier="clutter_state_key_get_value"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves a copy of the value for a #ClutterStateKey.
-The #GValue needs to be already initialized for the value type
-of the property or to a type that allow transformation from the value
-type of the key.
-Use g_value_unset() when done.
-and %FALSE otherwise</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the value was successfully retrieved,</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GValue initialized with the correct type for the @state_key</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-    </record>
-    <record name="StatePrivate" c:type="ClutterStatePrivate" disguised="1">
-    </record>
-    <constant name="StickyKeys_Enable" value="65141">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Stop" value="269025064">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Subtitle" value="269025178">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Super_L" value="65515">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Super_R" value="65516">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Support" value="269025150">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Suspend" value="269025191">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Switch_VT_1" value="269024769">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Switch_VT_10" value="269024778">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Switch_VT_11" value="269024779">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Switch_VT_12" value="269024780">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Switch_VT_2" value="269024770">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Switch_VT_3" value="269024771">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Switch_VT_4" value="269024772">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Switch_VT_5" value="269024773">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Switch_VT_6" value="269024774">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Switch_VT_7" value="269024775">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Switch_VT_8" value="269024776">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Switch_VT_9" value="269024777">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Sys_Req" value="65301">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="T" value="84">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="THORN" value="222">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Tab" value="65289">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <enumeration name="TableAlignment"
-                 version="1.4"
-                 glib:type-name="ClutterTableAlignment"
-                 glib:get-type="clutter_table_alignment_get_type"
-                 c:type="ClutterTableAlignment">
-      <doc xml:whitespace="preserve">The alignment policies available on each axis of the #ClutterTableLayout</doc>
-      <member name="start"
-              value="0"
-              c:identifier="CLUTTER_TABLE_ALIGNMENT_START"
-              glib:nick="start"/>
-      <member name="center"
-              value="1"
-              c:identifier="CLUTTER_TABLE_ALIGNMENT_CENTER"
-              glib:nick="center"/>
-      <member name="end"
-              value="2"
-              c:identifier="CLUTTER_TABLE_ALIGNMENT_END"
-              glib:nick="end"/>
-    </enumeration>
-    <class name="TableLayout"
-           c:symbol-prefix="table_layout"
-           c:type="ClutterTableLayout"
-           version="1.4"
-           parent="LayoutManager"
-           glib:type-name="ClutterTableLayout"
-           glib:get-type="clutter_table_layout_get_type"
-           glib:type-struct="TableLayoutClass">
-      <doc xml:whitespace="preserve">The #ClutterTableLayout structure contains only private data
-and should be accessed using the provided API</doc>
-      <constructor name="new"
-                   c:identifier="clutter_table_layout_new"
-                   version="1.4">
-        <doc xml:whitespace="preserve">Creates a new #ClutterTableLayout layout manager</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #ClutterTableLayout</doc>
-          <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
-        </return-value>
-      </constructor>
-      <method name="get_alignment"
-              c:identifier="clutter_table_layout_get_alignment"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the horizontal and vertical alignment policies for @actor
-as set using clutter_table_layout_pack() or
-clutter_table_layout_set_alignment().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor child of @layout</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="x_align"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for the horizontal alignment policy</doc>
-            <type name="TableAlignment" c:type="ClutterTableAlignment*"/>
-          </parameter>
-          <parameter name="y_align"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for the vertical alignment policy</doc>
-            <type name="TableAlignment" c:type="ClutterTableAlignment*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_column_count"
-              c:identifier="clutter_table_layout_get_column_count"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieve the current number of columns in @layout</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of columns</doc>
-          <type name="gint" c:type="gint"/>
-        </return-value>
-      </method>
-      <method name="get_column_spacing"
-              c:identifier="clutter_table_layout_get_column_spacing"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the spacing set using clutter_table_layout_set_column_spacing()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the spacing between columns of the #ClutterTableLayout</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_easing_duration"
-              c:identifier="clutter_table_layout_get_easing_duration"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the duration set using clutter_table_layout_set_easing_duration()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the duration of the animations, in milliseconds</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_easing_mode"
-              c:identifier="clutter_table_layout_get_easing_mode"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the easing mode set using clutter_table_layout_set_easing_mode()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">an easing mode</doc>
-          <type name="gulong" c:type="gulong"/>
-        </return-value>
-      </method>
-      <method name="get_expand"
-              c:identifier="clutter_table_layout_get_expand"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the horizontal and vertical expand policies for @actor
-as set using clutter_table_layout_pack() or clutter_table_layout_set_expand()</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor child of @layout</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="x_expand"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the horizontal expand policy</doc>
-            <type name="gboolean" c:type="gboolean*"/>
-          </parameter>
-          <parameter name="y_expand"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the vertical expand policy</doc>
-            <type name="gboolean" c:type="gboolean*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_fill"
-              c:identifier="clutter_table_layout_get_fill"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the horizontal and vertical fill policies for @actor
-as set using clutter_table_layout_pack() or clutter_table_layout_set_fill()</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor child of @layout</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="x_fill"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the horizontal fill policy</doc>
-            <type name="gboolean" c:type="gboolean*"/>
-          </parameter>
-          <parameter name="y_fill"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the vertical fill policy</doc>
-            <type name="gboolean" c:type="gboolean*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_row_count"
-              c:identifier="clutter_table_layout_get_row_count"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieve the current number rows in the @layout</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of rows</doc>
-          <type name="gint" c:type="gint"/>
-        </return-value>
-      </method>
-      <method name="get_row_spacing"
-              c:identifier="clutter_table_layout_get_row_spacing"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the spacing set using clutter_table_layout_set_row_spacing()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the spacing between rows of the #ClutterTableLayout</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_span"
-              c:identifier="clutter_table_layout_get_span"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the row and column span for @actor as set using
-clutter_table_layout_pack() or clutter_table_layout_set_span()</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor child of @layout</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="column_span"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the col span</doc>
-            <type name="gint" c:type="gint*"/>
-          </parameter>
-          <parameter name="row_span"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the row span</doc>
-            <type name="gint" c:type="gint*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_use_animations"
-              c:identifier="clutter_table_layout_get_use_animations"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves whether @layout should animate changes in the layout properties
-Since clutter_table_layout_set_use_animations()</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the animations should be used, %FALSE otherwise</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="pack"
-              c:identifier="clutter_table_layout_pack"
-              version="1.4">
-        <doc xml:whitespace="preserve">Packs @actor inside the #ClutterContainer associated to @layout
-at the given row and column.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="column" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the column the @actor should be put, or -1 to append</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="row" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the row the @actor should be put, or -1 to append</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_alignment"
-              c:identifier="clutter_table_layout_set_alignment"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the horizontal and vertical alignment policies for @actor
-inside @layout</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor child of @layout</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="x_align" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Horizontal alignment policy for @actor</doc>
-            <type name="TableAlignment" c:type="ClutterTableAlignment"/>
-          </parameter>
-          <parameter name="y_align" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Vertical alignment policy for @actor</doc>
-            <type name="TableAlignment" c:type="ClutterTableAlignment"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_column_spacing"
-              c:identifier="clutter_table_layout_set_column_spacing"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the spacing between columns of @layout</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="spacing" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the spacing between columns of the layout, in pixels</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_easing_duration"
-              c:identifier="clutter_table_layout_set_easing_duration"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the duration of the animations used by @layout when animating changes
-in the layout properties
-Use clutter_table_layout_set_use_animations() to enable and disable the
-animations</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="msecs" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the duration of the animations, in milliseconds</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_easing_mode"
-              c:identifier="clutter_table_layout_set_easing_mode"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the easing mode to be used by @layout when animating changes in layout
-properties
-Use clutter_table_layout_set_use_animations() to enable and disable the
-animations</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="mode" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an easing mode, either from #ClutterAnimationMode or a logical id from clutter_alpha_register_func()</doc>
-            <type name="gulong" c:type="gulong"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_expand"
-              c:identifier="clutter_table_layout_set_expand"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the horizontal and vertical expand policies for @actor
-inside @layout</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor child of @layout</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="x_expand" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether @actor should allocate extra space horizontally</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-          <parameter name="y_expand" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether @actor should allocate extra space vertically</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_fill"
-              c:identifier="clutter_table_layout_set_fill"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the horizontal and vertical fill policies for @actor
-inside @layout</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor child of @layout</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="x_fill" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether @actor should fill horizontally the allocated space</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-          <parameter name="y_fill" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether @actor should fill vertically the allocated space</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_row_spacing"
-              c:identifier="clutter_table_layout_set_row_spacing"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the spacing between rows of @layout</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="spacing" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the spacing between rows of the layout, in pixels</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_span"
-              c:identifier="clutter_table_layout_set_span"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the row and column span for @actor
-inside @layout</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterActor child of @layout</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-          <parameter name="column_span" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Column span for @actor</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="row_span" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Row span for @actor</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_use_animations"
-              c:identifier="clutter_table_layout_set_use_animations"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets whether @layout should animate changes in the layout properties
-The duration of the animations is controlled by
-clutter_table_layout_set_easing_duration(); the easing mode to be used
-by the animations is controlled by clutter_table_layout_set_easing_mode()</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="animate" transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE if the @layout should use animations</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="column-spacing"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The spacing between columns of the #ClutterTableLayout, in pixels</doc>
-        <type name="guint"/>
-      </property>
-      <property name="easing-duration"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The duration of the animations, in case #ClutterTableLayout:use-animations
-is set to %TRUE
-The duration is expressed in milliseconds</doc>
-        <type name="guint"/>
-      </property>
-      <property name="easing-mode"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The easing mode for the animations, in case
-#ClutterTableLayout:use-animations is set to %TRUE
-either be a value from the #ClutterAnimationMode enumeration, like
-%CLUTTER_EASE_OUT_CUBIC, or a logical id as returned by
-clutter_alpha_register_func()
-The default value is %CLUTTER_EASE_OUT_CUBIC</doc>
-        <type name="gulong"/>
-      </property>
-      <property name="row-spacing"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The spacing between rows of the #ClutterTableLayout, in pixels</doc>
-        <type name="guint"/>
-      </property>
-      <property name="use-animations"
-                version="1.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the #ClutterTableLayout should animate changes in the
-layout properties</doc>
-        <type name="gboolean"/>
-      </property>
-      <field name="parent_instance">
-        <type name="LayoutManager" c:type="ClutterLayoutManager"/>
-      </field>
-      <field name="priv">
-        <type name="TableLayoutPrivate" c:type="ClutterTableLayoutPrivate*"/>
-      </field>
-    </class>
-    <record name="TableLayoutClass"
-            c:type="ClutterTableLayoutClass"
-            glib:is-gtype-struct-for="TableLayout"
-            version="1.4">
-      <doc xml:whitespace="preserve">The #ClutterTableLayoutClass structure contains only private
-data and should be accessed using the provided API</doc>
-      <field name="parent_class">
-        <type name="LayoutManagerClass" c:type="ClutterLayoutManagerClass"/>
-      </field>
-    </record>
-    <record name="TableLayoutPrivate"
-            c:type="ClutterTableLayoutPrivate"
-            disguised="1">
-    </record>
-    <constant name="Tabovedot" value="16785002">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="TaskPane" value="269025151">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Tcaron" value="427">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Tcedilla" value="478">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Terminal" value="269025152">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Terminate_Server" value="65237">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="Text"
-           c:symbol-prefix="text"
-           c:type="ClutterText"
-           version="1.0"
-           parent="Actor"
-           glib:type-name="ClutterText"
-           glib:get-type="clutter_text_get_type"
-           glib:type-struct="TextClass">
-      <doc xml:whitespace="preserve">The #ClutterText struct contains only private data.</doc>
-      <implements name="Atk.ImplementorIface"/>
-      <implements name="Animatable"/>
-      <implements name="Scriptable"/>
-      <constructor name="new" c:identifier="clutter_text_new" version="1.0">
-        <doc xml:whitespace="preserve">Creates a new #ClutterText actor. This actor can be used to
-display and edit text.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #ClutterText actor</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-      </constructor>
-      <constructor name="new_full"
-                   c:identifier="clutter_text_new_full"
-                   version="1.0">
-        <doc xml:whitespace="preserve">Creates a new #ClutterText actor, using @font_name as the font
-description; @text will be used to set the contents of the actor;
-and @color will be used as the color to render @text.
-This function is equivalent to calling clutter_text_new(),
-clutter_text_set_font_name(), clutter_text_set_text() and
-clutter_text_set_color().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #ClutterText actor</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-        <parameters>
-          <parameter name="font_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string with a font description</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="text" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the contents of the actor</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="color" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the color to be used to render @text</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <constructor name="new_with_text"
-                   c:identifier="clutter_text_new_with_text"
-                   version="1.0">
-        <doc xml:whitespace="preserve">Creates a new #ClutterText actor, using @font_name as the font
-description; @text will be used to set the contents of the actor.
-This function is equivalent to calling clutter_text_new(),
-clutter_text_set_font_name(), and clutter_text_set_text().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #ClutterText actor</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-        <parameters>
-          <parameter name="font_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string with a font description</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="text" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the contents of the actor</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="activate"
-              c:identifier="clutter_text_activate"
-              version="1.0">
-        <doc xml:whitespace="preserve">Emits the #ClutterText::activate signal, if @self has been set
-as activatable using clutter_text_set_activatable().
-This function can be used to emit the ::activate signal inside
-a #ClutterActor::captured-event or #ClutterActor::key-press-event
-signal handlers before the default signal handler for the
-#ClutterText is invoked.
-and %FALSE otherwise</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the ::activate signal has been emitted,</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="delete_chars"
-              c:identifier="clutter_text_delete_chars"
-              version="1.0">
-        <doc xml:whitespace="preserve">Deletes @n_chars inside a #ClutterText actor, starting from the
-current cursor position.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="n_chars" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the number of characters to delete</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="delete_selection"
-              c:identifier="clutter_text_delete_selection"
-              version="1.0">
-        <doc xml:whitespace="preserve">Deletes the currently selected text
-This function is only useful in subclasses of #ClutterText
-is empty, and %FALSE otherwise</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if text was deleted or if the text actor</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="delete_text"
-              c:identifier="clutter_text_delete_text"
-              version="1.0">
-        <doc xml:whitespace="preserve">Deletes the text inside a #ClutterText actor between @start_pos
-and @end_pos.
-The starting and ending positions are expressed in characters,
-not in bytes.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="start_pos" transfer-ownership="none">
-            <doc xml:whitespace="preserve">starting position</doc>
-            <type name="glong" c:type="gssize"/>
-          </parameter>
-          <parameter name="end_pos" transfer-ownership="none">
-            <doc xml:whitespace="preserve">ending position</doc>
-            <type name="glong" c:type="gssize"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_activatable"
-              c:identifier="clutter_text_get_activatable"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves whether a #ClutterText is activatable or not.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the actor is activatable</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_attributes"
-              c:identifier="clutter_text_get_attributes"
-              version="1.0">
-        <doc xml:whitespace="preserve">Gets the attribute list that was set on the #ClutterText actor
-clutter_text_set_attributes(), if any.
-returned value is owned by the #ClutterText and should not be unreferenced.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the attribute list, or %NULL if none was set. The</doc>
-          <type name="Pango.AttrList" c:type="PangoAttrList*"/>
-        </return-value>
-      </method>
-      <method name="get_chars"
-              c:identifier="clutter_text_get_chars"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the contents of the #ClutterText actor between
-The positions are specified in characters, not in bytes.
-the text actor between the specified positions. Use g_free()
-to free the resources when done</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a newly allocated string with the contents of</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-        <parameters>
-          <parameter name="start_pos" transfer-ownership="none">
-            <doc xml:whitespace="preserve">start of text, in characters</doc>
-            <type name="glong" c:type="gssize"/>
-          </parameter>
-          <parameter name="end_pos" transfer-ownership="none">
-            <doc xml:whitespace="preserve">end of text, in characters</doc>
-            <type name="glong" c:type="gssize"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_color"
-              c:identifier="clutter_text_get_color"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the text color as set by clutter_text_set_color().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="color" transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for a #ClutterColor</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_cursor_color"
-              c:identifier="clutter_text_get_cursor_color"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the color of the cursor of a #ClutterText actor.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="color" transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for a #ClutterColor</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_cursor_position"
-              c:identifier="clutter_text_get_cursor_position"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the cursor position.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the cursor position, in characters</doc>
-          <type name="gint" c:type="gint"/>
-        </return-value>
-      </method>
-      <method name="get_cursor_size"
-              c:identifier="clutter_text_get_cursor_size"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the size of the cursor of a #ClutterText actor.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the size of the cursor, in pixels</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_cursor_visible"
-              c:identifier="clutter_text_get_cursor_visible"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves whether the cursor of a #ClutterText actor is visible.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the cursor is visible</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_editable"
-              c:identifier="clutter_text_get_editable"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves whether a #ClutterText is editable or not.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the actor is editable</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_ellipsize"
-              c:identifier="clutter_text_get_ellipsize"
-              version="1.0">
-        <doc xml:whitespace="preserve">Returns the ellipsizing position of a #ClutterText actor, as
-set by clutter_text_set_ellipsize().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">#PangoEllipsizeMode</doc>
-          <type name="Pango.EllipsizeMode" c:type="PangoEllipsizeMode"/>
-        </return-value>
-      </method>
-      <method name="get_font_description"
-              c:identifier="clutter_text_get_font_description"
-              version="1.2">
-        <doc xml:whitespace="preserve">Retrieves the #PangoFontDescription used by @self
-by the #ClutterText actor and it should not be modified or freed</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a #PangoFontDescription. The returned value is owned</doc>
-          <type name="Pango.FontDescription" c:type="PangoFontDescription*"/>
-        </return-value>
-      </method>
-      <method name="get_font_name"
-              c:identifier="clutter_text_get_font_name"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the font name as set by clutter_text_set_font_name().
-string is owned by the #ClutterText actor and should not be
-modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a string containing the font name. The returned</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-      <method name="get_justify"
-              c:identifier="clutter_text_get_justify"
-              version="0.6">
-        <doc xml:whitespace="preserve">Retrieves whether the #ClutterText actor should justify its contents
-on both margins.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the text should be justified</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_layout"
-              c:identifier="clutter_text_get_layout"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the current #PangoLayout used by a #ClutterText actor.
-the #ClutterText actor and should not be modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #PangoLayout. The returned object is owned by</doc>
-          <type name="Pango.Layout" c:type="PangoLayout*"/>
-        </return-value>
-      </method>
-      <method name="get_line_alignment"
-              c:identifier="clutter_text_get_line_alignment"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the alignment of a #ClutterText, as set by
-clutter_text_set_line_alignment().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #PangoAlignment</doc>
-          <type name="Pango.Alignment" c:type="PangoAlignment"/>
-        </return-value>
-      </method>
-      <method name="get_line_wrap"
-              c:identifier="clutter_text_get_line_wrap"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the value set using clutter_text_set_line_wrap().
-its contents</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the #ClutterText actor should wrap</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_line_wrap_mode"
-              c:identifier="clutter_text_get_line_wrap_mode"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the line wrap mode used by the #ClutterText actor.
-See clutter_text_set_line_wrap_mode ().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the wrap mode used by the #ClutterText</doc>
-          <type name="Pango.WrapMode" c:type="PangoWrapMode"/>
-        </return-value>
-      </method>
-      <method name="get_max_length"
-              c:identifier="clutter_text_get_max_length"
-              version="1.0">
-        <doc xml:whitespace="preserve">Gets the maximum length of text that can be set into a text actor.
-See clutter_text_set_max_length().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the maximum number of characters.</doc>
-          <type name="gint" c:type="gint"/>
-        </return-value>
-      </method>
-      <method name="get_password_char"
-              c:identifier="clutter_text_get_password_char"
-              version="1.0"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Retrieves the character to use in place of the actual text
-as set by clutter_text_set_password_char().
-character is not set</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a Unicode character or 0 if the password</doc>
-          <type name="gunichar" c:type="gunichar"/>
-        </return-value>
-      </method>
-      <method name="get_selectable"
-              c:identifier="clutter_text_get_selectable"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves whether a #ClutterText is selectable or not.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the actor is selectable</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_selection"
-              c:identifier="clutter_text_get_selection"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the currently selected text.
-selected text, or %NULL. Use g_free() to free the returned
-string.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a newly allocated string containing the currently</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-      <method name="get_selection_bound"
-              c:identifier="clutter_text_get_selection_bound"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the other end of the selection of a #ClutterText actor,
-in characters from the current cursor position.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the position of the other end of the selection</doc>
-          <type name="gint" c:type="gint"/>
-        </return-value>
-      </method>
-      <method name="get_selection_color"
-              c:identifier="clutter_text_get_selection_color"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the color of the selection of a #ClutterText actor.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="color" transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for a #ClutterColor</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_single_line_mode"
-              c:identifier="clutter_text_get_single_line_mode"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves whether the #ClutterText actor is in single line mode.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the #ClutterText actor is in single line mode</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_text"
-              c:identifier="clutter_text_get_text"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves a pointer to the current contents of a #ClutterText
-actor.
-If you need a copy of the contents for manipulating, either
-use g_strdup() on the returned string, or use:
-|[
-copy = clutter_text_get_chars (text, 0, -1);
-]|
-Which will return a newly allocated string.
-is owned by the #ClutterText actor and should never be
-modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the contents of the actor. The returned string</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-      <method name="get_use_markup"
-              c:identifier="clutter_text_get_use_markup"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves whether the contents of the #ClutterText actor should be
-parsed for the Pango text markup.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the contents will be parsed for markup</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="insert_text"
-              c:identifier="clutter_text_insert_text"
-              version="1.0">
-        <doc xml:whitespace="preserve">Inserts @text into a #ClutterActor at the given position.
-If @position is a negative number, the text will be appended
-at the end of the current contents of the #ClutterText.
-The position is expressed in characters, not in bytes.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="text" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the text to be inserted</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="position" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the position of the insertion, or -1</doc>
-            <type name="glong" c:type="gssize"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="insert_unichar"
-              c:identifier="clutter_text_insert_unichar"
-              version="1.0"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Inserts @wc at the current cursor position of a
-#ClutterText actor.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="wc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a Unicode character</doc>
-            <type name="gunichar" c:type="gunichar"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="position_to_coords"
-              c:identifier="clutter_text_position_to_coords"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the coordinates of the given @position.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the conversion was successful</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="position" transfer-ownership="none">
-            <doc xml:whitespace="preserve">position in characters</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="x"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the X coordinate, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="y"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the Y coordinate, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="line_height"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the line height, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_activatable"
-              c:identifier="clutter_text_set_activatable"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets whether a #ClutterText actor should be activatable.
-An activatable #ClutterText actor will emit the #ClutterText::activate
-signal whenever the 'Enter' (or 'Return') key is pressed; if it is not
-activatable, a new line will be appended to the current content.
-An activatable #ClutterText must also be set as editable using
-clutter_text_set_editable().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="activatable" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether the #ClutterText actor should be activatable</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_attributes"
-              c:identifier="clutter_text_set_attributes"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the attributes list that are going to be applied to the
-#ClutterText contents.
-The #ClutterText actor will take a reference on the #PangoAttrList
-passed to this function.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="attrs" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #PangoAttrList or %NULL to unset the attributes</doc>
-            <type name="Pango.AttrList" c:type="PangoAttrList*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_color"
-              c:identifier="clutter_text_set_color"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the color of the contents of a #ClutterText actor.
-The overall opacity of the #ClutterText actor will be the
-result of the alpha value of @color and the composited
-opacity of the actor itself on the scenegraph, as returned
-by clutter_actor_get_paint_opacity().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="color" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterColor</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_cursor_color"
-              c:identifier="clutter_text_set_cursor_color"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the color of the cursor of a #ClutterText actor.
-If @color is %NULL, the cursor color will be the same as the
-text color.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="color" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the color of the cursor, or %NULL to unset it</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_cursor_position"
-              c:identifier="clutter_text_set_cursor_position"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the cursor of a #ClutterText actor at @position.
-The position is expressed in characters, not in bytes.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="position" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the new cursor position, in characters</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_cursor_size"
-              c:identifier="clutter_text_set_cursor_size"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the size of the cursor of a #ClutterText. The cursor
-will only be visible if the #ClutterText:cursor-visible property
-is set to %TRUE.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="size" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the size of the cursor, in pixels, or -1 to use the default value</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_cursor_visible"
-              c:identifier="clutter_text_set_cursor_visible"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets whether the cursor of a #ClutterText actor should be
-visible or not.
-The color of the cursor will be the same as the text color
-unless clutter_text_set_cursor_color() has been called.
-The size of the cursor can be set using clutter_text_set_cursor_size().
-The position of the cursor can be changed programmatically using
-clutter_text_set_cursor_position().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="cursor_visible" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether the cursor should be visible</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_editable"
-              c:identifier="clutter_text_set_editable"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets whether the #ClutterText actor should be editable.
-An editable #ClutterText with key focus set using
-clutter_actor_grab_key_focus() or clutter_stage_take_key_focus()
-will receive key events and will update its contents accordingly.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="editable" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether the #ClutterText should be editable</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_ellipsize"
-              c:identifier="clutter_text_set_ellipsize"
-              version="1.0">
-        <doc xml:whitespace="preserve">text if there is not enough space to render the entire contents
-of a #ClutterText actor</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="mode" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #PangoEllipsizeMode</doc>
-            <type name="Pango.EllipsizeMode" c:type="PangoEllipsizeMode"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_font_description"
-              c:identifier="clutter_text_set_font_description"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets @font_desc as the font description for a #ClutterText
-The #PangoFontDescription is copied by the #ClutterText actor
-so you can safely call pango_font_description_free() on it after
-calling this function.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="font_desc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #PangoFontDescription</doc>
-            <type name="Pango.FontDescription" c:type="PangoFontDescription*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_font_name"
-              c:identifier="clutter_text_set_font_name"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the font used by a #ClutterText. The @font_name string
-must either be %NULL, which means that the font name from the
-default #ClutterBackend will be used; or be something that can
-be parsed by the pango_font_description_from_string() function,
-like:
-|[
-clutter_text_set_font_name (text, "Sans 10pt");
-clutter_text_set_font_name (text, "Serif 16px");
-clutter_text_set_font_name (text, "Helvetica 10");
-]|</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="font_name" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a font name, or %NULL to set the default font name</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_justify"
-              c:identifier="clutter_text_set_justify"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets whether the text of the #ClutterText actor should be justified
-on both margins. This setting is ignored if Clutter is compiled
-against Pango &amp;lt; 1.18.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="justify" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether the text should be justified</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_line_alignment"
-              c:identifier="clutter_text_set_line_alignment"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the way that the lines of a wrapped label are aligned with
-respect to each other. This does not affect the overall alignment
-of the label within its allocated or specified width.
-To align a #ClutterText actor you should add it to a container
-that supports alignment, or use the anchor point.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="alignment" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A #PangoAlignment</doc>
-            <type name="Pango.Alignment" c:type="PangoAlignment"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_line_wrap"
-              c:identifier="clutter_text_set_line_wrap"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets whether the contents of a #ClutterText actor should wrap,
-if they don't fit the size assigned to the actor.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="line_wrap" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether the contents should wrap</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_line_wrap_mode"
-              c:identifier="clutter_text_set_line_wrap_mode"
-              version="1.0">
-        <doc xml:whitespace="preserve">If line wrapping is enabled (see clutter_text_set_line_wrap()) this
-function controls how the line wrapping is performed. The default is
-%PANGO_WRAP_WORD which means wrap on word boundaries.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="wrap_mode" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the line wrapping mode</doc>
-            <type name="Pango.WrapMode" c:type="PangoWrapMode"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_markup"
-              c:identifier="clutter_text_set_markup"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets @markup as the contents of a #ClutterText.
-This is a convenience function for setting a string containing
-Pango markup, and it is logically equivalent to:
-|[
-clutter_text_set_text (CLUTTER_TEXT (actor), markup);
-clutter_text_set_use_markup (CLUTTER_TEXT (actor), TRUE);
-]|</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="markup" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string containing Pango markup. Passing %NULL is the same as passing "" (the empty string)</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_max_length"
-              c:identifier="clutter_text_set_max_length"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the maximum allowed length of the contents of the actor. If the
-current contents are longer than the given length, then they will be
-truncated to fit.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="max" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the maximum number of characters allowed in the text actor; 0 to disable or -1 to set the length of the current string</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_password_char"
-              c:identifier="clutter_text_set_password_char"
-              version="1.0"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Sets the character to use in place of the actual text in a
-password text actor.
-If @wc is 0 the text will be displayed as it is entered in the
-#ClutterText actor.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="wc" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a Unicode character, or 0 to unset the password character</doc>
-            <type name="gunichar" c:type="gunichar"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_preedit_string"
-              c:identifier="clutter_text_set_preedit_string"
-              version="1.2">
-        <doc xml:whitespace="preserve">Sets, or unsets, the pre-edit string. This function is useful
-for input methods to display a string (with eventual specific
-Pango attributes) before it is entered inside the #ClutterText
-buffer.
-The preedit string and attributes are ignored if the #ClutterText
-actor is not editable.
-This function should not be used by applications</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="preedit_str"
-                     transfer-ownership="none"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">the pre-edit string, or %NULL to unset it</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="preedit_attrs"
-                     transfer-ownership="none"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">the pre-edit string attributes</doc>
-            <type name="Pango.AttrList" c:type="PangoAttrList*"/>
-          </parameter>
-          <parameter name="cursor_pos" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the cursor position for the pre-edit string</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_selectable"
-              c:identifier="clutter_text_set_selectable"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets whether a #ClutterText actor should be selectable.
-A selectable #ClutterText will allow selecting its contents using
-the pointer or the keyboard.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="selectable" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether the #ClutterText actor should be selectable</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_selection"
-              c:identifier="clutter_text_set_selection"
-              version="1.0">
-        <doc xml:whitespace="preserve">Selects the region of text between @start_pos and @end_pos.
-This function changes the position of the cursor to match</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="start_pos" transfer-ownership="none">
-            <doc xml:whitespace="preserve">start of the selection, in characters</doc>
-            <type name="glong" c:type="gssize"/>
-          </parameter>
-          <parameter name="end_pos" transfer-ownership="none">
-            <doc xml:whitespace="preserve">end of the selection, in characters</doc>
-            <type name="glong" c:type="gssize"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_selection_bound"
-              c:identifier="clutter_text_set_selection_bound"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the other end of the selection, starting from the current
-cursor position.
-If @selection_bound is -1, the selection unset.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="selection_bound" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the position of the end of the selection, in characters</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_selection_color"
-              c:identifier="clutter_text_set_selection_color"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the color of the selection of a #ClutterText actor.
-If @color is %NULL, the selection color will be the same as the
-cursor color, or if no cursor color is set either then it will be
-the same as the text color.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="color" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the color of the selection, or %NULL to unset it</doc>
-            <type name="Color" c:type="ClutterColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_single_line_mode"
-              c:identifier="clutter_text_set_single_line_mode"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets whether a #ClutterText actor should be in single line mode
-or not. Only editable #ClutterText&lt;!-- --&gt;s can be in single line
-mode.
-A text actor in single line mode will not wrap text and will clip
-the the visible area to the predefined size. The contents of the
-text actor will scroll to display the end of the text if its length
-is bigger than the allocated width.
-When setting the single line mode the #ClutterText:activatable
-property is also set as a side effect. Instead of entering a new
-line character, the text actor will emit the #ClutterText::activate
-signal.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="single_line" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether to enable single line mode</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_text"
-              c:identifier="clutter_text_set_text"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the contents of a #ClutterText actor.
-If the #ClutterText:use-markup property was set to %TRUE it
-will be reset to %FALSE as a side effect. If you want to
-maintain the #ClutterText:use-markup you should use the
-clutter_text_set_markup() function instead</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="text" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the text to set. Passing %NULL is the same as passing "" (the empty string)</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_use_markup"
-              c:identifier="clutter_text_set_use_markup"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets whether the contents of the #ClutterText actor contains markup
-in &lt;link linkend="PangoMarkupFormat"&gt;Pango's text markup language&lt;/link&gt;.
-Setting #ClutterText:use-markup on an editable #ClutterText will
-not have any effect except hiding the markup.
-See also #ClutterText:use-markup.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="setting" transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE if the text should be parsed for markup.</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="activatable"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Toggles whether return invokes the activate signal or not.</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="attributes"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">A list of #PangoStyleAttribute&lt;!-- --&gt;s to be applied to the
-contents of the #ClutterText actor.</doc>
-        <type name="Pango.AttrList"/>
-      </property>
-      <property name="color"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The color used to render the text.</doc>
-        <type name="Color"/>
-      </property>
-      <property name="cursor-color"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The color of the cursor.</doc>
-        <type name="Color"/>
-      </property>
-      <property name="cursor-color-set"
-                version="1.0"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Will be set to %TRUE if #ClutterText:cursor-color has been set.</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="cursor-size"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The size of the cursor, in pixels. If set to -1 the size used will
-be the default cursor size of 2 pixels.</doc>
-        <type name="gint"/>
-      </property>
-      <property name="cursor-visible"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the input cursor is visible or not, it will only be visible
-if both #ClutterText:cursor-visible and #ClutterText:editable are
-set to %TRUE.</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="editable"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether key events delivered to the actor causes editing.</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="ellipsize"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The preferred place to ellipsize the contents of the #ClutterText actor</doc>
-        <type name="Pango.EllipsizeMode"/>
-      </property>
-      <property name="font-description"
-                version="1.2"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The #PangoFontDescription that should be used by the #ClutterText
-If you have a string describing the font then you should look at
-#ClutterText:font-name instead</doc>
-        <type name="Pango.FontDescription"/>
-      </property>
-      <property name="font-name"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The font to be used by the #ClutterText, as a string
-that can be parsed by pango_font_description_from_string().
-If set to %NULL, the default system font will be used instead.</doc>
-        <type name="utf8"/>
-      </property>
-      <property name="justify"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the contents of the #ClutterText should be justified
-on both margins.</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="line-alignment"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The preferred alignment for the text. This property controls
-the alignment of multi-line paragraphs.</doc>
-        <type name="Pango.Alignment"/>
-      </property>
-      <property name="line-wrap"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether to wrap the lines of #ClutterText:text if the contents
-exceed the available allocation. The wrapping strategy is
-controlled by the #ClutterText:line-wrap-mode property.</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="line-wrap-mode"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">If #ClutterText:line-wrap is set to %TRUE, this property will
-control how the text is wrapped.</doc>
-        <type name="Pango.WrapMode"/>
-      </property>
-      <property name="max-length"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The maximum length of the contents of the #ClutterText actor.</doc>
-        <type name="gint"/>
-      </property>
-      <property name="password-char"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">If non-zero, the character that should be used in place of
-the actual text in a password text actor.</doc>
-        <type name="guint"/>
-      </property>
-      <property name="position"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The current input cursor position. -1 is taken to be the end of the text</doc>
-        <type name="gint"/>
-      </property>
-      <property name="selectable"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether it is possible to select text, either using the pointer
-or the keyboard.</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="selection-bound"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The current input cursor position. -1 is taken to be the end of the text</doc>
-        <type name="gint"/>
-      </property>
-      <property name="selection-color"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The color of the selection.</doc>
-        <type name="Color"/>
-      </property>
-      <property name="selection-color-set"
-                version="1.0"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Will be set to %TRUE if #ClutterText:selection-color has been set.</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="single-line-mode"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the #ClutterText actor should be in single line mode
-or not. A single line #ClutterText actor will only contain a
-single line of text, scrolling it in case its length is bigger
-than the allocated size.
-Setting this property will also set the #ClutterText:activatable
-property as a side-effect.
-The #ClutterText:single-line-mode property is used only if the
-#ClutterText:editable property is set to %TRUE.</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="text"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The text to render inside the actor.</doc>
-        <type name="utf8"/>
-      </property>
-      <property name="use-markup"
-                version="1.0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the text includes Pango markup.
-For more informations about the Pango markup format, see
-pango_layout_set_markup() in the Pango documentation.
-&lt;note&gt;It is not possible to round-trip this property between
-%TRUE and %FALSE. Once a string with markup has been set on
-a #ClutterText actor with :use-markup set to %TRUE, the markup
-is stripped from the string.&lt;/note&gt;</doc>
-        <type name="gboolean"/>
-      </property>
-      <field name="parent_instance">
-        <type name="Actor" c:type="ClutterActor"/>
-      </field>
-      <field name="priv">
-        <type name="TextPrivate" c:type="ClutterTextPrivate*"/>
-      </field>
-      <glib:signal name="activate">
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="cursor-event" version="1.0">
-        <doc xml:whitespace="preserve">The ::cursor-event signal is emitted whenever the cursor position
-changes inside a #ClutterText actor. Inside @geometry it is stored
-the current position and size of the cursor, relative to the actor
-itself.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the coordinates of the cursor</doc>
-            <type name="Geometry"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="delete-text" version="1.2">
-        <doc xml:whitespace="preserve">This signal is emitted when text is deleted from the actor by
-the user. It is emitted before @self text changes.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the starting position</doc>
-            <type name="gint"/>
-          </parameter>
-          <parameter name="p0" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the end position</doc>
-            <type name="gint"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="insert-text" version="1.2">
-        <doc xml:whitespace="preserve">This signal is emitted when text is inserted into the actor by
-the user. It is emitted before @self text changes.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the new text to insert</doc>
-            <type name="utf8"/>
-          </parameter>
-          <parameter name="p0" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the length of the new text, in bytes, or -1 if new_text is nul-terminated</doc>
-            <type name="gint"/>
-          </parameter>
-          <parameter name="p1" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the position, in characters, at which to insert the new text. this is an in-out parameter.  After the signal emission is finished, it should point after the newly inserted text.</doc>
-            <type name="gpointer"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="text-changed" version="1.0">
-        <doc xml:whitespace="preserve">The ::text-changed signal is emitted after @actor's text changes</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-    </class>
-    <record name="TextClass"
-            c:type="ClutterTextClass"
-            glib:is-gtype-struct-for="Text"
-            version="1.0">
-      <doc xml:whitespace="preserve">The #ClutterTextClass struct contains only private data.</doc>
-      <field name="parent_class">
-        <type name="ActorClass" c:type="ClutterActorClass"/>
-      </field>
-      <field name="text_changed">
-        <callback name="text_changed">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="self" transfer-ownership="none">
-              <type name="Text" c:type="ClutterText*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="activate">
-        <callback name="activate">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="self" transfer-ownership="none">
-              <type name="Text" c:type="ClutterText*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="cursor_event">
-        <callback name="cursor_event">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="self" transfer-ownership="none">
-              <type name="Text" c:type="ClutterText*"/>
-            </parameter>
-            <parameter name="geometry" transfer-ownership="none">
-              <type name="Geometry" c:type="ClutterGeometry*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_clutter_reserved1" introspectable="0">
-        <callback name="_clutter_reserved1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved2" introspectable="0">
-        <callback name="_clutter_reserved2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved3" introspectable="0">
-        <callback name="_clutter_reserved3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved4" introspectable="0">
-        <callback name="_clutter_reserved4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved5" introspectable="0">
-        <callback name="_clutter_reserved5">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved6" introspectable="0">
-        <callback name="_clutter_reserved6">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved7" introspectable="0">
-        <callback name="_clutter_reserved7">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_reserved8" introspectable="0">
-        <callback name="_clutter_reserved8">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <enumeration name="TextDirection"
-                 version="1.2"
-                 glib:type-name="ClutterTextDirection"
-                 glib:get-type="clutter_text_direction_get_type"
-                 c:type="ClutterTextDirection">
-      <doc xml:whitespace="preserve">The text direction to be used by #ClutterActor&lt;!-- --&gt;s</doc>
-      <member name="default"
-              value="0"
-              c:identifier="CLUTTER_TEXT_DIRECTION_DEFAULT"
-              glib:nick="default"/>
-      <member name="ltr"
-              value="1"
-              c:identifier="CLUTTER_TEXT_DIRECTION_LTR"
-              glib:nick="ltr"/>
-      <member name="rtl"
-              value="2"
-              c:identifier="CLUTTER_TEXT_DIRECTION_RTL"
-              glib:nick="rtl"/>
-    </enumeration>
-    <record name="TextPrivate" c:type="ClutterTextPrivate" disguised="1">
-    </record>
-    <class name="Texture"
-           c:symbol-prefix="texture"
-           c:type="ClutterTexture"
-           version="0.1"
-           parent="Actor"
-           glib:type-name="ClutterTexture"
-           glib:get-type="clutter_texture_get_type"
-           glib:type-struct="TextureClass">
-      <doc xml:whitespace="preserve">The #ClutterTexture structure contains only private data
-and should be accessed using the provided API</doc>
-      <implements name="Atk.ImplementorIface"/>
-      <implements name="Animatable"/>
-      <implements name="Scriptable"/>
-      <constructor name="new" c:identifier="clutter_texture_new">
-        <doc xml:whitespace="preserve">Creates a new empty #ClutterTexture object.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">A newly created #ClutterTexture object.</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-      </constructor>
-      <constructor name="new_from_actor"
-                   c:identifier="clutter_texture_new_from_actor"
-                   version="0.6">
-        <doc xml:whitespace="preserve">Creates a new #ClutterTexture object with its source a prexisting
-actor (and associated children). The textures content will contain
-'live' redirected output of the actors scene.
-Note this function is intented as a utility call for uniformly applying
-shaders to groups and other potential visual effects. It requires that
-the %CLUTTER_FEATURE_OFFSCREEN feature is supported by the current backend
-and the target system.
-Some tips on usage:
-&lt;itemizedlist&gt;
-&lt;listitem&gt;
-&lt;para&gt;The source actor must be made visible (i.e by calling
-#clutter_actor_show).&lt;/para&gt;
-&lt;/listitem&gt;
-&lt;listitem&gt;
-&lt;para&gt;The source actor must have a parent in order for it to be
-allocated a size from the layouting mechanism. If the source
-actor does not have a parent when this function is called then
-the ClutterTexture will adopt it and allocate it at its
-preferred size. Using this you can clone an actor that is
-otherwise not displayed. Because of this feature if you do
-intend to display the source actor then you must make sure that
-the actor is parented before calling
-clutter_texture_new_from_actor() or that you unparent it before
-adding it to a container.&lt;/para&gt;
-&lt;/listitem&gt;
-&lt;listitem&gt;
-&lt;para&gt;When getting the image for the clone texture, Clutter
-will attempt to render the source actor exactly as it would
-appear if it was rendered on screen. The source actor's parent
-transformations are taken into account. Therefore if your
-source actor is rotated along the X or Y axes so that it has
-some depth, the texture will appear differently depending on
-the on-screen location of the source actor. While painting the
-source actor, Clutter will set up a temporary asymmetric
-perspective matrix as the projection matrix so that the source
-actor will be projected as if a small section of the screen was
-being viewed. Before version 0.8.2, an orthogonal identity
-projection was used which meant that the source actor would be
-clipped if any part of it was not on the zero Z-plane.&lt;/para&gt;
-&lt;/listitem&gt;
-&lt;listitem&gt;
-&lt;para&gt;Avoid reparenting the source with the created texture.&lt;/para&gt;
-&lt;/listitem&gt;
-&lt;listitem&gt;
-&lt;para&gt;A group can be padded with a transparent rectangle as to
-provide a border to contents for shader output (blurring text
-for example).&lt;/para&gt;
-&lt;/listitem&gt;
-&lt;listitem&gt;
-&lt;para&gt;The texture will automatically resize to contain a further
-transformed source. However, this involves overhead and can be
-avoided by placing the source actor in a bounding group
-sized large enough to contain any child tranformations.&lt;/para&gt;
-&lt;/listitem&gt;
-&lt;listitem&gt;
-&lt;para&gt;Uploading pixel data to the texture (e.g by using
-clutter_actor_set_from_file()) will destroy the offscreen texture data
-and end redirection.&lt;/para&gt;
-&lt;/listitem&gt;
-&lt;listitem&gt;
-&lt;para&gt;cogl_texture_get_data() with the handle returned by
-clutter_texture_get_cogl_texture() can be used to read the
-offscreen texture pixels into a pixbuf.&lt;/para&gt;
-&lt;/listitem&gt;
-&lt;/itemizedlist&gt;</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">A newly created #ClutterTexture object, or %NULL on failure.</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-        <parameters>
-          <parameter name="actor" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A source #ClutterActor</doc>
-            <type name="Actor" c:type="ClutterActor*"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <constructor name="new_from_file"
-                   c:identifier="clutter_texture_new_from_file"
-                   version="0.8"
-                   throws="1">
-        <doc xml:whitespace="preserve">Creates a new ClutterTexture actor to display the image contained a
-file. If the image failed to load then NULL is returned and @error
-is set.
-error.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">A newly created #ClutterTexture object or NULL on</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </return-value>
-        <parameters>
-          <parameter name="filename" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The name of an image file to load.</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="get_base_size"
-              c:identifier="clutter_texture_get_base_size">
-        <doc xml:whitespace="preserve">Gets the size in pixels of the untransformed underlying image</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="width"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the width, or %NULL</doc>
-            <type name="gint" c:type="gint*"/>
-          </parameter>
-          <parameter name="height"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the height, or %NULL</doc>
-            <type name="gint" c:type="gint*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_cogl_material"
-              c:identifier="clutter_texture_get_cogl_material"
-              version="1.0">
-        <doc xml:whitespace="preserve">Returns a handle to the underlying COGL material used for drawing
-the actor.
-material is owned by the #ClutterTexture and it should not be
-unreferenced</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a handle for a #CoglMaterial. The</doc>
-          <type name="Cogl.Handle" c:type="CoglHandle"/>
-        </return-value>
-      </method>
-      <method name="get_cogl_texture"
-              c:identifier="clutter_texture_get_cogl_texture"
-              version="0.8">
-        <doc xml:whitespace="preserve">Retrieves the handle to the underlying COGL texture used for drawing
-the actor. No extra reference is taken so if you need to keep the
-handle then you should call cogl_handle_ref() on it.
-The texture handle returned is the first layer of the material
-handle used by the #ClutterTexture. If you need to access the other
-layers you should use clutter_texture_get_cogl_material() instead
-and use the #CoglMaterial API.
-handle is owned by the #ClutterTexture and it should not be unreferenced</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglHandle for the texture. The returned</doc>
-          <type name="Cogl.Handle" c:type="CoglHandle"/>
-        </return-value>
-      </method>
-      <method name="get_filter_quality"
-              c:identifier="clutter_texture_get_filter_quality">
-        <return-value transfer-ownership="none">
-          <type name="TextureQuality" c:type="ClutterTextureQuality"/>
-        </return-value>
-      </method>
-      <method name="get_keep_aspect_ratio"
-              c:identifier="clutter_texture_get_keep_aspect_ratio"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the value set using clutter_texture_set_keep_aspect_ratio()
-aspect ratio of the underlying image</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the #ClutterTexture should maintain the</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_load_async"
-              c:identifier="clutter_texture_get_load_async"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the value set using clutter_texture_set_load_async()
-disk asynchronously</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the #ClutterTexture should load the data from</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_load_data_async"
-              c:identifier="clutter_texture_get_load_data_async"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the value set by clutter_texture_set_load_data_async()
-data from a file asynchronously</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the #ClutterTexture should load the image</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_max_tile_waste"
-              c:identifier="clutter_texture_get_max_tile_waste">
-        <return-value transfer-ownership="none">
-          <type name="gint" c:type="gint"/>
-        </return-value>
-      </method>
-      <method name="get_pick_with_alpha"
-              c:identifier="clutter_texture_get_pick_with_alpha"
-              version="1.4">
-        <doc xml:whitespace="preserve">Retrieves the value set by clutter_texture_set_load_data_async()
-using the alpha channel when picking.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the #ClutterTexture should define its shape</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_pixel_format"
-              c:identifier="clutter_texture_get_pixel_format"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the pixel format used by @texture. This is
-equivalent to:
-|[
-handle = clutter_texture_get_pixel_format (texture);
-if (handle != COGL_INVALID_HANDLE)
-format = cogl_texture_get_format (handle);
-]|</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglPixelFormat value</doc>
-          <type name="Cogl.PixelFormat" c:type="CoglPixelFormat"/>
-        </return-value>
-      </method>
-      <method name="get_repeat"
-              c:identifier="clutter_texture_get_repeat"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the horizontal and vertical repeat values set
-using clutter_texture_set_repeat()</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="repeat_x"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the horizontal repeat</doc>
-            <type name="gboolean" c:type="gboolean*"/>
-          </parameter>
-          <parameter name="repeat_y"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the vertical repeat</doc>
-            <type name="gboolean" c:type="gboolean*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_sync_size"
-              c:identifier="clutter_texture_get_sync_size"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the value set with clutter_texture_set_sync_size()
-preferred size of the underlying image data</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the #ClutterTexture should have the same</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="set_area_from_rgb_data"
-              c:identifier="clutter_texture_set_area_from_rgb_data"
-              version="0.6"
-              throws="1">
-        <doc xml:whitespace="preserve">Updates a sub-region of the pixel data in a #ClutterTexture.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE on success, %FALSE on failure.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Image data in RGB type colorspace.</doc>
-            <type name="guint8" c:type="guchar*"/>
-          </parameter>
-          <parameter name="has_alpha" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Set to TRUE if image data has an alpha channel.</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-          <parameter name="x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">X coordinate of upper left corner of region to update.</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Y coordinate of upper left corner of region to update.</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="width" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Width in pixels of region to update.</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="height" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Height in pixels of region to update.</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="rowstride" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Distance in bytes between row starts on source buffer.</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="bpp" transfer-ownership="none">
-            <doc xml:whitespace="preserve">bytes per pixel (Currently only 3 and 4 supported, depending on @has_alpha)</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="flags" transfer-ownership="none">
-            <doc xml:whitespace="preserve">#ClutterTextureFlags</doc>
-            <type name="TextureFlags" c:type="ClutterTextureFlags"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_cogl_material"
-              c:identifier="clutter_texture_set_cogl_material"
-              version="0.8">
-        <doc xml:whitespace="preserve">Replaces the underlying Cogl material drawn by this actor with
-handle is no longer needed it should be deref'd with
-cogl_handle_unref. Texture data is attached to the material so
-calling this function also replaces the Cogl
-texture. #ClutterTexture requires that the material have a texture
-layer so you should set one on the material before calling this
-function.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="cogl_material" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A CoglHandle for a material</doc>
-            <type name="Cogl.Handle" c:type="CoglHandle"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_cogl_texture"
-              c:identifier="clutter_texture_set_cogl_texture">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="cogl_tex" transfer-ownership="none">
-            <type name="Cogl.Handle" c:type="CoglHandle"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_filter_quality"
-              c:identifier="clutter_texture_set_filter_quality"
-              version="0.8">
-        <doc xml:whitespace="preserve">Sets the filter quality when scaling a texture. The quality is an
-enumeration currently the following values are supported:
-%CLUTTER_TEXTURE_QUALITY_LOW which is fast but only uses nearest neighbour
-interpolation. %CLUTTER_TEXTURE_QUALITY_MEDIUM which is computationally a
-bit more expensive (bilinear interpolation), and
-%CLUTTER_TEXTURE_QUALITY_HIGH which uses extra texture memory resources to
-improve scaled down rendering as well (by using mipmaps). The default value
-is %CLUTTER_TEXTURE_QUALITY_MEDIUM.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="filter_quality" transfer-ownership="none">
-            <doc xml:whitespace="preserve">new filter quality value</doc>
-            <type name="TextureQuality" c:type="ClutterTextureQuality"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_from_file"
-              c:identifier="clutter_texture_set_from_file"
-              version="0.8"
-              throws="1">
-        <doc xml:whitespace="preserve">Sets the #ClutterTexture image data from an image file. In case of
-failure, %FALSE is returned and @error is set.
-If #ClutterTexture:load-async is set to %TRUE, this function
-will return as soon as possible, and the actual image loading
-from disk will be performed asynchronously. #ClutterTexture::size-change
-will be emitten when the size of the texture is available and
-#ClutterTexture::load-finished will be emitted when the image has been
-loaded or if an error occurred.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the image was successfully loaded and set</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="filename" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The filename of the image in GLib file name encoding</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_from_rgb_data"
-              c:identifier="clutter_texture_set_from_rgb_data"
-              version="0.4."
-              throws="1">
-        <doc xml:whitespace="preserve">Sets #ClutterTexture image data.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE on success, %FALSE on failure.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Image data in RGBA type colorspace.</doc>
-            <type name="guint8" c:type="guchar*"/>
-          </parameter>
-          <parameter name="has_alpha" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Set to TRUE if image data has an alpha channel.</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-          <parameter name="width" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Width in pixels of image data.</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="height" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Height in pixels of image data</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="rowstride" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Distance in bytes between row starts.</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="bpp" transfer-ownership="none">
-            <doc xml:whitespace="preserve">bytes per pixel (Currently only 3 and 4 supported, depending on @has_alpha)</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="flags" transfer-ownership="none">
-            <doc xml:whitespace="preserve">#ClutterTextureFlags</doc>
-            <type name="TextureFlags" c:type="ClutterTextureFlags"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_from_yuv_data"
-              c:identifier="clutter_texture_set_from_yuv_data"
-              version="0.4"
-              throws="1">
-        <doc xml:whitespace="preserve">Sets a #ClutterTexture from YUV image data. If an error occurred,
-%FALSE is returned and @error is set.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the texture was successfully updated</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Image data in YUV type colorspace.</doc>
-            <type name="guint8" c:type="guchar*"/>
-          </parameter>
-          <parameter name="width" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Width in pixels of image data.</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="height" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Height in pixels of image data</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="flags" transfer-ownership="none">
-            <doc xml:whitespace="preserve">#ClutterTextureFlags</doc>
-            <type name="TextureFlags" c:type="ClutterTextureFlags"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_keep_aspect_ratio"
-              c:identifier="clutter_texture_set_keep_aspect_ratio"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets whether @texture should have a preferred size maintaining
-the aspect ratio of the underlying image</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="keep_aspect" transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE to maintain aspect ratio</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_load_async"
-              c:identifier="clutter_texture_set_load_async"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets whether @texture should use a worker thread to load the data
-from disk asynchronously. Setting @load_async to %TRUE will make
-clutter_texture_set_from_file() return immediately.
-See the #ClutterTexture:load-async property documentation, and
-clutter_texture_set_load_data_async().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="load_async" transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE if the texture should asynchronously load data from a filename</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_load_data_async"
-              c:identifier="clutter_texture_set_load_data_async"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets whether @texture should use a worker thread to load the data
-from disk asynchronously. Setting @load_async to %TRUE will make
-clutter_texture_set_from_file() block until the #ClutterTexture has
-determined the width and height of the image data.
-See the #ClutterTexture:load-async property documentation, and
-clutter_texture_set_load_async().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="load_async" transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE if the texture should asynchronously load data from a filename</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_pick_with_alpha"
-              c:identifier="clutter_texture_set_pick_with_alpha"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets whether @texture should have it's shape defined by the alpha
-channel when picking.
-Be aware that this is a bit more costly than the default picking
-due to the texture lookup, extra test against the alpha value and
-the fact that it will also interrupt the batching of geometry done
-internally.
-Also there is currently no control over the threshold used to
-determine what value of alpha is considered pickable, and so only
-fully opaque parts of the texture will react to picking.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="pick_with_alpha" transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE if the alpha channel should affect the picking shape</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_repeat"
-              c:identifier="clutter_texture_set_repeat"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets whether the @texture should repeat horizontally or
-vertically when the actor size is bigger than the image size</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="repeat_x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE if the texture should repeat horizontally</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-          <parameter name="repeat_y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE if the texture should repeat vertically</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_sync_size"
-              c:identifier="clutter_texture_set_sync_size"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets whether @texture should have the same preferred size as the
-underlying image data.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="sync_size" transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE if the texture should have the same size of the underlying image data</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="cogl-material"
-                introspectable="0"
-                writable="1"
-                transfer-ownership="none">
-        <type/>
-      </property>
-      <property name="cogl-texture"
-                introspectable="0"
-                writable="1"
-                transfer-ownership="none">
-        <type/>
-      </property>
-      <property name="disable-slicing"
-                writable="1"
-                construct-only="1"
-                transfer-ownership="none">
-        <type name="gboolean"/>
-      </property>
-      <property name="filename" writable="1" transfer-ownership="none">
-        <doc xml:whitespace="preserve">The path of the file containing the image data to be displayed by
-the texture.
-This property is unset when using the clutter_texture_set_from_*_data()
-family of functions.</doc>
-        <type name="utf8"/>
-      </property>
-      <property name="filter-quality"
-                writable="1"
-                construct="1"
-                transfer-ownership="none">
-        <type name="TextureQuality"/>
-      </property>
-      <property name="keep-aspect-ratio"
-                writable="1"
-                transfer-ownership="none">
-        <type name="gboolean"/>
-      </property>
-      <property name="load-async"
-                version="1.0"
-                readable="0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Tries to load a texture from a filename by using a local thread to perform
-the read operations. The initially created texture has dimensions 0x0 when
-the true size becomes available the #ClutterTexture::size-change signal is
-emitted and when the image has completed loading the
-#ClutterTexture::load-finished signal is emitted.
-Threading is only enabled if g_thread_init() has been called prior to
-clutter_init(), otherwise #ClutterTexture will use the main loop to load
-the image.
-The upload of the texture data on the GL pipeline is not asynchronous, as
-it must be performed from within the same thread that called
-clutter_main().</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="load-data-async"
-                version="1.0"
-                readable="0"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Like #ClutterTexture:load-async but loads the width and height
-synchronously causing some blocking.</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="pick-with-alpha" writable="1" transfer-ownership="none">
-        <type name="gboolean"/>
-      </property>
-      <property name="pixel-format" transfer-ownership="none">
-        <type name="Cogl.PixelFormat"/>
-      </property>
-      <property name="repeat-x" writable="1" transfer-ownership="none">
-        <type name="gboolean"/>
-      </property>
-      <property name="repeat-y" writable="1" transfer-ownership="none">
-        <type name="gboolean"/>
-      </property>
-      <property name="sync-size" writable="1" transfer-ownership="none">
-        <type name="gboolean"/>
-      </property>
-      <property name="tile-waste" transfer-ownership="none">
-        <type name="gint"/>
-      </property>
-      <field name="parent">
-        <type name="Actor" c:type="ClutterActor"/>
-      </field>
-      <field name="priv">
-        <type name="TexturePrivate" c:type="ClutterTexturePrivate*"/>
-      </field>
-      <glib:signal name="load-finished" version="1.0">
-        <doc xml:whitespace="preserve">The ::load-finished signal is emitted when a texture load has
-completed. If there was an error during loading, @error will
-be set, otherwise it will be %NULL</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A set error, or %NULL</doc>
-            <type name="gpointer"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="pixbuf-change">
-        <doc xml:whitespace="preserve">The ::pixbuf-change signal is emitted each time the pixbuf
-used by @texture changes.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="size-change">
-        <doc xml:whitespace="preserve">The ::size-change signal is emitted each time the size of the
-pixbuf used by @texture changes.  The new size is given as
-argument to the callback.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the width of the new texture</doc>
-            <type name="gint"/>
-          </parameter>
-          <parameter name="p0" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the height of the new texture</doc>
-            <type name="gint"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-    </class>
-    <record name="TextureClass"
-            c:type="ClutterTextureClass"
-            glib:is-gtype-struct-for="Texture"
-            version="0.1">
-      <doc xml:whitespace="preserve">The #ClutterTextureClass structure contains only private data</doc>
-      <field name="parent_class">
-        <type name="ActorClass" c:type="ClutterActorClass"/>
-      </field>
-      <field name="size_change">
-        <callback name="size_change">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="texture" transfer-ownership="none">
-              <type name="Texture" c:type="ClutterTexture*"/>
-            </parameter>
-            <parameter name="width" transfer-ownership="none">
-              <type name="gint" c:type="gint"/>
-            </parameter>
-            <parameter name="height" transfer-ownership="none">
-              <type name="gint" c:type="gint"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="pixbuf_change">
-        <callback name="pixbuf_change">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="texture" transfer-ownership="none">
-              <type name="Texture" c:type="ClutterTexture*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="load_finished">
-        <callback name="load_finished">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="texture" transfer-ownership="none">
-              <type name="Texture" c:type="ClutterTexture*"/>
-            </parameter>
-            <parameter name="error" transfer-ownership="none">
-              <type name="GLib.Error" c:type="GError*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_clutter_texture1" introspectable="0">
-        <callback name="_clutter_texture1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_texture2" introspectable="0">
-        <callback name="_clutter_texture2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_texture3" introspectable="0">
-        <callback name="_clutter_texture3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_texture4" introspectable="0">
-        <callback name="_clutter_texture4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_texture5" introspectable="0">
-        <callback name="_clutter_texture5">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <enumeration name="TextureError"
-                 version="0.4"
-                 glib:type-name="ClutterTextureError"
-                 glib:get-type="clutter_texture_error_get_type"
-                 c:type="ClutterTextureError"
-                 glib:error-quark="clutter_texture_error_quark">
-      <doc xml:whitespace="preserve">Error enumeration for #ClutterTexture</doc>
-      <member name="out_of_memory"
-              value="0"
-              c:identifier="CLUTTER_TEXTURE_ERROR_OUT_OF_MEMORY"
-              glib:nick="out-of-memory"/>
-      <member name="no_yuv"
-              value="1"
-              c:identifier="CLUTTER_TEXTURE_ERROR_NO_YUV"
-              glib:nick="no-yuv"/>
-      <member name="bad_format"
-              value="2"
-              c:identifier="CLUTTER_TEXTURE_ERROR_BAD_FORMAT"
-              glib:nick="bad-format"/>
-    </enumeration>
-    <bitfield name="TextureFlags"
-              version="0.4"
-              glib:type-name="ClutterTextureFlags"
-              glib:get-type="clutter_texture_flags_get_type"
-              c:type="ClutterTextureFlags">
-      <doc xml:whitespace="preserve">Flags for clutter_texture_set_from_rgb_data() and
-clutter_texture_set_from_yuv_data().</doc>
-      <member name="none"
-              value="0"
-              c:identifier="CLUTTER_TEXTURE_NONE"
-              glib:nick="none"/>
-      <member name="rgb_flag_bgr"
-              value="2"
-              c:identifier="CLUTTER_TEXTURE_RGB_FLAG_BGR"
-              glib:nick="rgb-flag-bgr"/>
-      <member name="rgb_flag_premult"
-              value="4"
-              c:identifier="CLUTTER_TEXTURE_RGB_FLAG_PREMULT"
-              glib:nick="rgb-flag-premult"/>
-      <member name="yuv_flag_yuv2"
-              value="8"
-              c:identifier="CLUTTER_TEXTURE_YUV_FLAG_YUV2"
-              glib:nick="yuv-flag-yuv2"/>
-    </bitfield>
-    <record name="TexturePrivate" c:type="ClutterTexturePrivate" disguised="1">
-    </record>
-    <enumeration name="TextureQuality"
-                 version="0.8"
-                 glib:type-name="ClutterTextureQuality"
-                 glib:get-type="clutter_texture_quality_get_type"
-                 c:type="ClutterTextureQuality">
-      <doc xml:whitespace="preserve">Enumaration controlling the texture quality.</doc>
-      <member name="low"
-              value="0"
-              c:identifier="CLUTTER_TEXTURE_QUALITY_LOW"
-              glib:nick="low"/>
-      <member name="medium"
-              value="1"
-              c:identifier="CLUTTER_TEXTURE_QUALITY_MEDIUM"
-              glib:nick="medium"/>
-      <member name="high"
-              value="2"
-              c:identifier="CLUTTER_TEXTURE_QUALITY_HIGH"
-              glib:nick="high"/>
-    </enumeration>
-    <constant name="Thai_baht" value="3551">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_bobaimai" value="3514">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_chochan" value="3496">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_chochang" value="3498">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_choching" value="3497">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_chochoe" value="3500">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_dochada" value="3502">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_dodek" value="3508">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_fofa" value="3517">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_fofan" value="3519">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_hohip" value="3531">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_honokhuk" value="3534">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_khokhai" value="3490">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_khokhon" value="3493">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_khokhuat" value="3491">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_khokhwai" value="3492">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_khorakhang" value="3494">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_kokai" value="3489">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_lakkhangyao" value="3557">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_lekchet" value="3575">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_lekha" value="3573">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_lekhok" value="3574">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_lekkao" value="3577">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_leknung" value="3569">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_lekpaet" value="3576">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_leksam" value="3571">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_leksi" value="3572">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_leksong" value="3570">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_leksun" value="3568">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_lochula" value="3532">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_loling" value="3525">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_lu" value="3526">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_maichattawa" value="3563">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_maiek" value="3560">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_maihanakat" value="3537">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_maihanakat_maitho" value="3550">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_maitaikhu" value="3559">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_maitho" value="3561">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_maitri" value="3562">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_maiyamok" value="3558">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_moma" value="3521">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_ngongu" value="3495">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_nikhahit" value="3565">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_nonen" value="3507">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_nonu" value="3513">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_oang" value="3533">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_paiyannoi" value="3535">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_phinthu" value="3546">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_phophan" value="3518">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_phophung" value="3516">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_phosamphao" value="3520">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_popla" value="3515">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_rorua" value="3523">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_ru" value="3524">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_saraa" value="3536">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_saraaa" value="3538">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_saraae" value="3553">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_saraaimaimalai" value="3556">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_saraaimaimuan" value="3555">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_saraam" value="3539">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_sarae" value="3552">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_sarai" value="3540">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_saraii" value="3541">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_sarao" value="3554">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_sarau" value="3544">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_saraue" value="3542">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_sarauee" value="3543">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_sarauu" value="3545">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_sorusi" value="3529">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_sosala" value="3528">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_soso" value="3499">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_sosua" value="3530">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_thanthakhat" value="3564">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_thonangmontho" value="3505">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_thophuthao" value="3506">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_thothahan" value="3511">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_thothan" value="3504">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_thothong" value="3512">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_thothung" value="3510">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_topatak" value="3503">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_totao" value="3509">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_wowaen" value="3527">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_yoyak" value="3522">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thai_yoying" value="3501">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Thorn" value="222">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Time" value="269025183">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <class name="Timeline"
-           c:symbol-prefix="timeline"
-           c:type="ClutterTimeline"
-           version="0.2"
-           parent="GObject.Object"
-           glib:type-name="ClutterTimeline"
-           glib:get-type="clutter_timeline_get_type"
-           glib:type-struct="TimelineClass">
-      <doc xml:whitespace="preserve">The #ClutterTimeline structure contains only private data
-and should be accessed using the provided API</doc>
-      <constructor name="new"
-                   c:identifier="clutter_timeline_new"
-                   version="0.6">
-        <doc xml:whitespace="preserve">Creates a new #ClutterTimeline with a duration of @msecs.
-g_object_unref() when done using it</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created #ClutterTimeline instance. Use</doc>
-          <type name="Timeline" c:type="ClutterTimeline*"/>
-        </return-value>
-        <parameters>
-          <parameter name="msecs" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Duration of the timeline in milliseconds</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="add_marker_at_time"
-              c:identifier="clutter_timeline_add_marker_at_time"
-              version="0.8">
-        <doc xml:whitespace="preserve">Adds a named marker that will be hit when the timeline has been
-running for @msecs milliseconds. Markers are unique string
-identifiers for a given time. Once @timeline reaches
-attached to that time.
-A marker can be removed with clutter_timeline_remove_marker(). The
-timeline can be advanced to a marker using
-clutter_timeline_advance_to_marker().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="marker_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the unique name for this marker</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="msecs" transfer-ownership="none">
-            <doc xml:whitespace="preserve">position of the marker in milliseconds</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="advance" c:identifier="clutter_timeline_advance">
-        <doc xml:whitespace="preserve">Advance timeline to the requested point. The point is given as a
-time in milliseconds since the timeline started.
-&lt;note&gt;&lt;para&gt;The @timeline will not emit the #ClutterTimeline::new-frame
-signal for the given time. The first ::new-frame signal after the call to
-clutter_timeline_advance() will be emit the skipped markers.
-&lt;/para&gt;&lt;/note&gt;</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="msecs" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Time to advance to</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="advance_to_marker"
-              c:identifier="clutter_timeline_advance_to_marker"
-              version="0.8">
-        <doc xml:whitespace="preserve">Advances @timeline to the time of the given @marker_name.
-&lt;note&gt;&lt;para&gt;Like clutter_timeline_advance(), this function will not
-emit the #ClutterTimeline::new-frame for the time where @marker_name
-is set, nor it will emit #ClutterTimeline::marker-reached for</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="marker_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the marker</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="clone" c:identifier="clutter_timeline_clone" version="0.4">
-        <doc xml:whitespace="preserve">Create a new #ClutterTimeline instance which has property values
-matching that of supplied timeline. The cloned timeline will not
-be started and will not be positioned to the current position of
-from @timeline</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a new #ClutterTimeline, cloned</doc>
-          <type name="Timeline" c:type="ClutterTimeline*"/>
-        </return-value>
-      </method>
-      <method name="do_tick" c:identifier="clutter_timeline_do_tick">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="tick_time" transfer-ownership="none">
-            <type name="GLib.TimeVal" c:type="GTimeVal*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_delay"
-              c:identifier="clutter_timeline_get_delay"
-              version="0.4">
-        <doc xml:whitespace="preserve">Retrieves the delay set using clutter_timeline_set_delay().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the delay in milliseconds.</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_delta"
-              c:identifier="clutter_timeline_get_delta"
-              version="0.6">
-        <doc xml:whitespace="preserve">Retrieves the amount of time elapsed since the last
-ClutterTimeline::new-frame signal.
-This function is only useful inside handlers for the ::new-frame
-signal, and its behaviour is undefined if the timeline is not
-playing.
-last frame</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the amount of time in milliseconds elapsed since the</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_direction"
-              c:identifier="clutter_timeline_get_direction"
-              version="0.6">
-        <doc xml:whitespace="preserve">Retrieves the direction of the timeline set with
-clutter_timeline_set_direction().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the direction of the timeline</doc>
-          <type name="TimelineDirection" c:type="ClutterTimelineDirection"/>
-        </return-value>
-      </method>
-      <method name="get_duration"
-              c:identifier="clutter_timeline_get_duration"
-              version="0.6">
-        <doc xml:whitespace="preserve">Retrieves the duration of a #ClutterTimeline in milliseconds.
-See clutter_timeline_set_duration().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the duration of the timeline, in milliseconds.</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_elapsed_time"
-              c:identifier="clutter_timeline_get_elapsed_time">
-        <doc xml:whitespace="preserve">Request the current time position of the timeline.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">current elapsed time in milliseconds.</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_loop" c:identifier="clutter_timeline_get_loop">
-        <doc xml:whitespace="preserve">Gets whether @timeline is looping</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the timeline is looping</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_progress"
-              c:identifier="clutter_timeline_get_progress"
-              version="0.6">
-        <doc xml:whitespace="preserve">The position of the timeline in a [0, 1] interval.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the position of the timeline.</doc>
-          <type name="gdouble" c:type="gdouble"/>
-        </return-value>
-      </method>
-      <method name="has_marker"
-              c:identifier="clutter_timeline_has_marker"
-              version="0.8">
-        <doc xml:whitespace="preserve">Checks whether @timeline has a marker set with the given name.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the marker was found</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="marker_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the marker</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="is_playing" c:identifier="clutter_timeline_is_playing">
-        <doc xml:whitespace="preserve">Queries state of a #ClutterTimeline.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if timeline is currently playing</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="list_markers"
-              c:identifier="clutter_timeline_list_markers"
-              version="0.8">
-        <doc xml:whitespace="preserve">Retrieves the list of markers at time @msecs. If @frame_num is a
-negative integer, all the markers attached to @timeline will be
-returned.
-a newly allocated, %NULL terminated string array containing the names
-of the markers. Use g_strfreev() when done.</doc>
-        <return-value transfer-ownership="full">
-          <array length="1" c:type="gchar**">
-            <type name="utf8"/>
-          </array>
-        </return-value>
-        <parameters>
-          <parameter name="msecs" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the time to check, or -1</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-          <parameter name="n_markers"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">the number of markers returned</doc>
-            <type name="gulong" c:type="gsize*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="pause" c:identifier="clutter_timeline_pause">
-        <doc xml:whitespace="preserve">Pauses the #ClutterTimeline on current frame</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="remove_marker"
-              c:identifier="clutter_timeline_remove_marker"
-              version="0.8">
-        <doc xml:whitespace="preserve">Removes @marker_name, if found, from @timeline.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="marker_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the marker to remove</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="rewind" c:identifier="clutter_timeline_rewind">
-        <doc xml:whitespace="preserve">Rewinds #ClutterTimeline to the first frame if its direction is
-%CLUTTER_TIMELINE_FORWARD and the last frame if it is
-%CLUTTER_TIMELINE_BACKWARD.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="set_delay"
-              c:identifier="clutter_timeline_set_delay"
-              version="0.4">
-        <doc xml:whitespace="preserve">Sets the delay, in milliseconds, before @timeline should start.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="msecs" transfer-ownership="none">
-            <doc xml:whitespace="preserve">delay in milliseconds</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_direction"
-              c:identifier="clutter_timeline_set_direction"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sets the direction of @timeline, either %CLUTTER_TIMELINE_FORWARD or
-%CLUTTER_TIMELINE_BACKWARD.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="direction" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the direction of the timeline</doc>
-            <type name="TimelineDirection" c:type="ClutterTimelineDirection"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_duration"
-              c:identifier="clutter_timeline_set_duration"
-              version="0.6">
-        <doc xml:whitespace="preserve">Sets the duration of the timeline, in milliseconds. The speed
-of the timeline depends on the ClutterTimeline:fps setting.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="msecs" transfer-ownership="none">
-            <doc xml:whitespace="preserve">duration of the timeline in milliseconds</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_loop" c:identifier="clutter_timeline_set_loop">
-        <doc xml:whitespace="preserve">Sets whether @timeline should loop.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="loop" transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE for enable looping</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="skip" c:identifier="clutter_timeline_skip">
-        <doc xml:whitespace="preserve">Advance timeline by the requested time in milliseconds</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="msecs" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Amount of time to skip</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="start" c:identifier="clutter_timeline_start">
-        <doc xml:whitespace="preserve">Starts the #ClutterTimeline playing.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="stop" c:identifier="clutter_timeline_stop">
-        <doc xml:whitespace="preserve">Stops the #ClutterTimeline and moves to frame 0</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <property name="delay"
-                version="0.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">A delay, in milliseconds, that should be observed by the
-timeline before actually starting.</doc>
-        <type name="guint"/>
-      </property>
-      <property name="direction"
-                version="0.6"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The direction of the timeline, either %CLUTTER_TIMELINE_FORWARD or
-%CLUTTER_TIMELINE_BACKWARD.</doc>
-        <type name="TimelineDirection"/>
-      </property>
-      <property name="duration"
-                version="0.6"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">Duration of the timeline in milliseconds, depending on the
-ClutterTimeline:fps value.</doc>
-        <type name="guint"/>
-      </property>
-      <property name="loop" writable="1" transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the timeline should automatically rewind and restart.</doc>
-        <type name="gboolean"/>
-      </property>
-      <field name="parent">
-        <type name="GObject.Object" c:type="GObject"/>
-      </field>
-      <field name="priv">
-        <type name="TimelinePrivate" c:type="ClutterTimelinePrivate*"/>
-      </field>
-      <glib:signal name="completed">
-        <doc xml:whitespace="preserve">The ::completed signal is emitted when the timeline reaches the
-number of frames specified by the ClutterTimeline:num-frames property.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="marker-reached" version="0.8">
-        <doc xml:whitespace="preserve">The ::marker-reached signal is emitted each time a timeline
-reaches a marker set with
-clutter_timeline_add_marker_at_time(). This signal is detailed
-with the name of the marker as well, so it is possible to connect
-a callback to the ::marker-reached signal for a specific marker
-with:
-&lt;informalexample&gt;&lt;programlisting&gt;
-clutter_timeline_add_marker_at_time (timeline, "foo", 500);
-clutter_timeline_add_marker_at_time (timeline, "bar", 750);
-g_signal_connect (timeline, "marker-reached",
-G_CALLBACK (each_marker_reached), NULL);
-g_signal_connect (timeline, "marker-reached::foo",
-G_CALLBACK (foo_marker_reached), NULL);
-g_signal_connect (timeline, "marker-reached::bar",
-G_CALLBACK (bar_marker_reached), NULL);
-&lt;/programlisting&gt;&lt;/informalexample&gt;
-In the example, the first callback will be invoked for both
-the "foo" and "bar" marker, while the second and third callbacks
-will be invoked for the "foo" or "bar" markers, respectively.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the marker reached</doc>
-            <type name="utf8"/>
-          </parameter>
-          <parameter name="p0" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the elapsed time</doc>
-            <type name="gint"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="new-frame">
-        <doc xml:whitespace="preserve">The ::new-frame signal is emitted for each timeline running
-timeline before a new frame is drawn to give animations a chance
-to update the scene.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the elapsed time between 0 and duration</doc>
-            <type name="gint"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="paused">
-        <doc xml:whitespace="preserve">The ::paused signal is emitted when clutter_timeline_pause() is invoked.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="started">
-        <doc xml:whitespace="preserve">The ::started signal is emitted when the timeline starts its run.
-This might be as soon as clutter_timeline_start() is invoked or
-after the delay set in the ClutterTimeline:delay property has
-expired.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-    </class>
-    <record name="TimelineClass"
-            c:type="ClutterTimelineClass"
-            glib:is-gtype-struct-for="Timeline"
-            version="0.2">
-      <doc xml:whitespace="preserve">The #ClutterTimelineClass structure contains only private data</doc>
-      <field name="parent_class">
-        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
-      </field>
-      <field name="started">
-        <callback name="started">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="timeline" transfer-ownership="none">
-              <type name="Timeline" c:type="ClutterTimeline*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="completed">
-        <callback name="completed">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="timeline" transfer-ownership="none">
-              <type name="Timeline" c:type="ClutterTimeline*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="paused">
-        <callback name="paused">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="timeline" transfer-ownership="none">
-              <type name="Timeline" c:type="ClutterTimeline*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="new_frame">
-        <callback name="new_frame">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="timeline" transfer-ownership="none">
-              <type name="Timeline" c:type="ClutterTimeline*"/>
-            </parameter>
-            <parameter name="frame_num" transfer-ownership="none">
-              <type name="gint" c:type="gint"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="marker_reached">
-        <callback name="marker_reached">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="timeline" transfer-ownership="none">
-              <type name="Timeline" c:type="ClutterTimeline*"/>
-            </parameter>
-            <parameter name="marker_name" transfer-ownership="none">
-              <type name="utf8" c:type="gchar*"/>
-            </parameter>
-            <parameter name="frame_num" transfer-ownership="none">
-              <type name="gint" c:type="gint"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_clutter_timeline_1" introspectable="0">
-        <callback name="_clutter_timeline_1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_timeline_2" introspectable="0">
-        <callback name="_clutter_timeline_2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_timeline_3" introspectable="0">
-        <callback name="_clutter_timeline_3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_timeline_4" introspectable="0">
-        <callback name="_clutter_timeline_4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_timeline_5" introspectable="0">
-        <callback name="_clutter_timeline_5">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <enumeration name="TimelineDirection"
-                 version="0.6"
-                 glib:type-name="ClutterTimelineDirection"
-                 glib:get-type="clutter_timeline_direction_get_type"
-                 c:type="ClutterTimelineDirection">
-      <doc xml:whitespace="preserve">The direction of a #ClutterTimeline</doc>
-      <member name="forward"
-              value="0"
-              c:identifier="CLUTTER_TIMELINE_FORWARD"
-              glib:nick="forward"/>
-      <member name="backward"
-              value="1"
-              c:identifier="CLUTTER_TIMELINE_BACKWARD"
-              glib:nick="backward"/>
-    </enumeration>
-    <record name="TimelinePrivate"
-            c:type="ClutterTimelinePrivate"
-            disguised="1">
-    </record>
-    <record name="TimeoutPool"
-            c:type="ClutterTimeoutPool"
-            disguised="1"
-            version="0.6"
-            introspectable="0">
-      <doc xml:whitespace="preserve">&lt;structname&gt;ClutterTimeoutPool&lt;/structname&gt; is an opaque structure
-whose members cannot be directly accessed.</doc>
-      <method name="add" c:identifier="clutter_timeout_pool_add" version="0.4">
-        <doc xml:whitespace="preserve">Sets a function to be called at regular intervals, and puts it inside
-the @pool. The function is repeatedly called until it returns %FALSE,
-at which point the timeout is automatically destroyed and the function
-won't be called again. If @notify is not %NULL, the @notify function
-will be called. The first call to @func will be at the end of @interval.
-Since Clutter 0.8 this will try to compensate for delays. For
-example, if @func takes half the interval time to execute then the
-function will be called again half the interval time after it
-finished. Before version 0.8 it would not fire until a full
-interval after the function completes so the delay between calls
-would be @interval * 1.5. This function does not however try to
-invoke the function multiple times to catch up missing frames if
-Use clutter_timeout_pool_remove() to stop the timeout.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the ID (greater than 0) of the timeout inside the pool.</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-        <parameters>
-          <parameter name="fps" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the time between calls to the function, in frames per second</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="func"
-                     transfer-ownership="none"
-                     scope="notified"
-                     closure="2"
-                     destroy="3">
-            <doc xml:whitespace="preserve">function to call</doc>
-            <type name="GLib.SourceFunc" c:type="GSourceFunc"/>
-          </parameter>
-          <parameter name="data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">data to pass to the function, or %NULL</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-          <parameter name="notify" transfer-ownership="none" scope="async">
-            <doc xml:whitespace="preserve">function to call when the timeout is removed, or %NULL</doc>
-            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="remove"
-              c:identifier="clutter_timeout_pool_remove"
-              version="0.4">
-        <doc xml:whitespace="preserve">Removes a timeout function with @id from the timeout pool. The id
-is the same returned when adding a function to the timeout pool with
-clutter_timeout_pool_add().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="id" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the id of the timeout to remove</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-    </record>
-    <constant name="ToDoList" value="269025055">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Tools" value="269025153">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="TopMenu" value="269025186">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="TouchpadToggle" value="269025193">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Touroku" value="65323">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Travel" value="269025154">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Tslash" value="940">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="U" value="85">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="UWB" value="269025174">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Uacute" value="218">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ubelowdot" value="16785124">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ubreve" value="733">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ucircumflex" value="219">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Udiaeresis" value="220">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Udoubleacute" value="475">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ugrave" value="217">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Uhook" value="16785126">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Uhorn" value="16777647">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Uhornacute" value="16785128">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Uhornbelowdot" value="16785136">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Uhorngrave" value="16785130">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Uhornhook" value="16785132">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Uhorntilde" value="16785134">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ukrainian_GHE_WITH_UPTURN" value="1725">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ukrainian_I" value="1718">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ukrainian_IE" value="1716">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ukrainian_YI" value="1719">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ukrainian_ghe_with_upturn" value="1709">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ukrainian_i" value="1702">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ukrainian_ie" value="1700">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ukrainian_yi" value="1703">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ukranian_I" value="1718">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ukranian_JE" value="1716">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ukranian_YI" value="1719">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ukranian_i" value="1702">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ukranian_je" value="1700">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ukranian_yi" value="1703">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Umacron" value="990">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Undo" value="65381">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ungrab" value="269024800">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <enumeration name="UnitType"
-                 version="1.0"
-                 glib:type-name="ClutterUnitType"
-                 glib:get-type="clutter_unit_type_get_type"
-                 c:type="ClutterUnitType">
-      <doc xml:whitespace="preserve">The type of unit in which a value is expressed
-This enumeration might be expanded at later date</doc>
-      <member name="pixel"
-              value="0"
-              c:identifier="CLUTTER_UNIT_PIXEL"
-              glib:nick="pixel"/>
-      <member name="em"
-              value="1"
-              c:identifier="CLUTTER_UNIT_EM"
-              glib:nick="em"/>
-      <member name="mm"
-              value="2"
-              c:identifier="CLUTTER_UNIT_MM"
-              glib:nick="mm"/>
-      <member name="point"
-              value="3"
-              c:identifier="CLUTTER_UNIT_POINT"
-              glib:nick="point"/>
-      <member name="cm"
-              value="4"
-              c:identifier="CLUTTER_UNIT_CM"
-              glib:nick="cm"/>
-    </enumeration>
-    <record name="Units"
-            c:type="ClutterUnits"
-            version="1.0"
-            glib:type-name="ClutterUnits"
-            glib:get-type="clutter_units_get_type"
-            c:symbol-prefix="units">
-      <doc xml:whitespace="preserve">An opaque structure, to be used to store sizing and positioning
-values along with their unit.</doc>
-      <field name="unit_type" writable="1">
-        <type name="UnitType" c:type="ClutterUnitType"/>
-      </field>
-      <field name="value" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-      <field name="pixels" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-      <field name="pixels_set" writable="1">
-        <type name="guint" c:type="guint"/>
-      </field>
-      <field name="serial" writable="1">
-        <type name="gint32" c:type="gint32"/>
-      </field>
-      <field name="__padding_1" writable="1">
-        <type name="gint32" c:type="gint32"/>
-      </field>
-      <field name="__padding_2" writable="1">
-        <type name="gint64" c:type="gint64"/>
-      </field>
-      <method name="copy" c:identifier="clutter_units_copy" version="1.0">
-        <doc xml:whitespace="preserve">Copies @units
-#ClutterUnits structure. Use clutter_units_free() to free
-the allocated resources</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created copy of a</doc>
-          <type name="Units" c:type="ClutterUnits*"/>
-        </return-value>
-      </method>
-      <method name="free" c:identifier="clutter_units_free" version="1.0">
-        <doc xml:whitespace="preserve">Frees the resources allocated by @units
-You should only call this function on a #ClutterUnits
-created using clutter_units_copy()</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="from_cm"
-              c:identifier="clutter_units_from_cm"
-              version="1.2">
-        <doc xml:whitespace="preserve">Stores a value in centimeters inside @units</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="cm" transfer-ownership="none">
-            <doc xml:whitespace="preserve">centimeters</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="from_em"
-              c:identifier="clutter_units_from_em"
-              version="1.0">
-        <doc xml:whitespace="preserve">Stores a value in em inside @units, using the default font
-name as returned by clutter_backend_get_font_name()</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="em" transfer-ownership="none">
-            <doc xml:whitespace="preserve">em</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="from_em_for_font"
-              c:identifier="clutter_units_from_em_for_font"
-              version="1.0">
-        <doc xml:whitespace="preserve">Stores a value in em inside @units using @font_name</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="font_name" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">the font name and size</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="em" transfer-ownership="none">
-            <doc xml:whitespace="preserve">em</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="from_mm"
-              c:identifier="clutter_units_from_mm"
-              version="1.0">
-        <doc xml:whitespace="preserve">Stores a value in millimiters inside @units</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="mm" transfer-ownership="none">
-            <doc xml:whitespace="preserve">millimeters</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="from_pixels"
-              c:identifier="clutter_units_from_pixels"
-              version="1.0">
-        <doc xml:whitespace="preserve">Stores a value in pixels inside @units</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="px" transfer-ownership="none">
-            <doc xml:whitespace="preserve">pixels</doc>
-            <type name="gint" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="from_pt"
-              c:identifier="clutter_units_from_pt"
-              version="1.0">
-        <doc xml:whitespace="preserve">Stores a value in typographic points inside @units</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="pt" transfer-ownership="none">
-            <doc xml:whitespace="preserve">typographic points</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="from_string"
-              c:identifier="clutter_units_from_string"
-              version="1.0">
-        <doc xml:whitespace="preserve">Parses a value and updates @units with it
-A #ClutterUnits expressed in string should match:
-|[
-| digit* sep digit+
-]|
-For instance, these are valid strings:
-|[
-10 px
-5.1 em
-24 pt
-12.6 mm
-.3 cm
-]|
-While these are not:
-|[
-42 cats
-omg!1!ponies
-]|
-&lt;note&gt;&lt;para&gt;If no unit is specified, pixels are assumed.&lt;/para&gt;&lt;/note&gt;
-and %FALSE otherwise</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the string was successfully parsed,</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="str" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the string to convert</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_unit_type"
-              c:identifier="clutter_units_get_unit_type"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the unit type of the value stored inside @units</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a unit type</doc>
-          <type name="UnitType" c:type="ClutterUnitType"/>
-        </return-value>
-      </method>
-      <method name="get_unit_value"
-              c:identifier="clutter_units_get_unit_value"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the value stored inside @units</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the value stored inside a #ClutterUnits</doc>
-          <type name="gfloat" c:type="gfloat"/>
-        </return-value>
-      </method>
-      <method name="to_pixels"
-              c:identifier="clutter_units_to_pixels"
-              version="1.0">
-        <doc xml:whitespace="preserve">Converts a value in #ClutterUnits to pixels</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the value in pixels</doc>
-          <type name="gfloat" c:type="gfloat"/>
-        </return-value>
-      </method>
-      <method name="to_string"
-              c:identifier="clutter_units_to_string"
-              version="1.0">
-        <doc xml:whitespace="preserve">Converts @units into a string
-See clutter_units_from_string() for the units syntax and for
-examples of output
-&lt;note&gt;Fractional values are truncated to the second decimal
-position for em, mm and cm, and to the first decimal position for
-typographic points. Pixels are integers.&lt;/note&gt;
-#ClutterUnits value. Use g_free() to free the string</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a newly allocated string containing the encoded</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-    </record>
-    <constant name="Uogonek" value="985">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Up" value="65362">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Uring" value="473">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="User1KB" value="269025157">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="User2KB" value="269025158">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="UserPB" value="269025156">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Utilde" value="989">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="V" value="86">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="VERSION" value="1.400000">
-      <type name="gdouble" c:type="gdouble"/>
-    </constant>
-    <constant name="VERSION_HEX" value="0">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="VERSION_S" value="1.4.0">
-      <type name="utf8" c:type="gchar*"/>
-    </constant>
-    <constant name="VendorHome" value="269025076">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <record name="Vertex"
-            c:type="ClutterVertex"
-            version="0.4"
-            glib:type-name="ClutterVertex"
-            glib:get-type="clutter_vertex_get_type"
-            c:symbol-prefix="vertex">
-      <doc xml:whitespace="preserve">Vertex of an actor in 3D space, expressed in pixels</doc>
-      <field name="x" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-      <field name="y" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-      <field name="z" writable="1">
-        <type name="gfloat" c:type="gfloat"/>
-      </field>
-      <constructor name="new" c:identifier="clutter_vertex_new" version="1.0">
-        <doc xml:whitespace="preserve">Creates a new #ClutterVertex for the point in 3D space
-identified by the 3 coordinates @x, @y, @z
-clutter_vertex_free() to free the resources</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly allocate #ClutterVertex. Use</doc>
-          <type name="Vertex" c:type="ClutterVertex*"/>
-        </return-value>
-        <parameters>
-          <parameter name="x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">X coordinate</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Y coordinate</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-          <parameter name="z" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Z coordinate</doc>
-            <type name="gfloat" c:type="gfloat"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="copy" c:identifier="clutter_vertex_copy" version="1.0">
-        <doc xml:whitespace="preserve">Copies @vertex
-clutter_vertex_free() to free the allocated resources</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a newly allocated copy of #ClutterVertex. Use</doc>
-          <type name="Vertex" c:type="ClutterVertex*"/>
-        </return-value>
-      </method>
-      <method name="equal" c:identifier="clutter_vertex_equal" version="1.0">
-        <doc xml:whitespace="preserve">Compares @vertex_a and @vertex_b for equality</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the passed #ClutterVertex are equal</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="vertex_b" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #ClutterVertex</doc>
-            <type name="Vertex" c:type="ClutterVertex*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="free" c:identifier="clutter_vertex_free" version="1.0">
-        <doc xml:whitespace="preserve">Frees a #ClutterVertex allocated using clutter_vertex_copy()</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-    </record>
-    <constant name="Video" value="269025159">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="View" value="269025185">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="VoidSymbol" value="16777215">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="W" value="87">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="WLAN" value="269025173">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="WWW" value="269025070">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Wacute" value="16785026">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="WakeUp" value="269025067">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Wcircumflex" value="16777588">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Wdiaeresis" value="16785028">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="WebCam" value="269025167">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Wgrave" value="16785024">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="WheelButton" value="269025160">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="WindowClear" value="269025109">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="WonSign" value="16785577">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Word" value="269025161">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="X" value="88">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Xabovedot" value="16785034">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Xfer" value="269025162">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Y" value="89">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Yacute" value="221">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ybelowdot" value="16785140">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ycircumflex" value="16777590">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ydiaeresis" value="5054">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Yellow" value="269025189">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ygrave" value="16785138">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Yhook" value="16785142">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Ytilde" value="16785144">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Z" value="90">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Zabovedot" value="431">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Zacute" value="428">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Zcaron" value="430">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Zen_Koho" value="65341">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Zenkaku" value="65320">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Zenkaku_Hankaku" value="65322">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ZoomIn" value="269025163">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ZoomOut" value="269025164">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="Zstroke" value="16777653">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="a" value="97">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="aacute" value="225">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="abelowdot" value="16785057">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="abovedot" value="511">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="abreve" value="483">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="abreveacute" value="16785071">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="abrevebelowdot" value="16785079">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="abrevegrave" value="16785073">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="abrevehook" value="16785075">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="abrevetilde" value="16785077">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="acircumflex" value="226">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="acircumflexacute" value="16785061">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="acircumflexbelowdot" value="16785069">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="acircumflexgrave" value="16785063">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="acircumflexhook" value="16785065">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="acircumflextilde" value="16785067">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="acute" value="180">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="adiaeresis" value="228">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ae" value="230">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="agrave" value="224">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ahook" value="16785059">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="amacron" value="992">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ampersand" value="38">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="aogonek" value="433">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="apostrophe" value="39">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="approxeq" value="16785992">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="approximate" value="2248">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="aring" value="229">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="asciicircum" value="94">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="asciitilde" value="126">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="asterisk" value="42">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="at" value="64">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="atilde" value="227">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="b" value="98">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="babovedot" value="16784899">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="backslash" value="92">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ballotcross" value="2804">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="bar" value="124">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <function name="base_init" c:identifier="clutter_base_init">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <constant name="because" value="16785973">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="blank" value="2527">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="botintegral" value="2213">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="botleftparens" value="2220">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="botleftsqbracket" value="2216">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="botleftsummation" value="2226">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="botrightparens" value="2222">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="botrightsqbracket" value="2218">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="botrightsummation" value="2230">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="bott" value="2550">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="botvertsummationconnector" value="2228">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braceleft" value="123">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braceright" value="125">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="bracketleft" value="91">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="bracketright" value="93">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_blank" value="16787456">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dot_1" value="65521">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dot_10" value="65530">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dot_2" value="65522">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dot_3" value="65523">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dot_4" value="65524">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dot_5" value="65525">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dot_6" value="65526">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dot_7" value="65527">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dot_8" value="65528">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dot_9" value="65529">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1" value="16787457">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_12" value="16787459">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_123" value="16787463">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1234" value="16787471">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_12345" value="16787487">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_123456" value="16787519">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1234567" value="16787583">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_12345678" value="16787711">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1234568" value="16787647">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_123457" value="16787551">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1234578" value="16787679">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_123458" value="16787615">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_12346" value="16787503">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_123467" value="16787567">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1234678" value="16787695">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_123468" value="16787631">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_12347" value="16787535">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_123478" value="16787663">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_12348" value="16787599">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1235" value="16787479">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_12356" value="16787511">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_123567" value="16787575">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1235678" value="16787703">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_123568" value="16787639">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_12357" value="16787543">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_123578" value="16787671">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_12358" value="16787607">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1236" value="16787495">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_12367" value="16787559">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_123678" value="16787687">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_12368" value="16787623">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1237" value="16787527">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_12378" value="16787655">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1238" value="16787591">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_124" value="16787467">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1245" value="16787483">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_12456" value="16787515">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_124567" value="16787579">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1245678" value="16787707">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_124568" value="16787643">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_12457" value="16787547">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_124578" value="16787675">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_12458" value="16787611">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1246" value="16787499">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_12467" value="16787563">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_124678" value="16787691">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_12468" value="16787627">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1247" value="16787531">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_12478" value="16787659">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1248" value="16787595">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_125" value="16787475">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1256" value="16787507">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_12567" value="16787571">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_125678" value="16787699">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_12568" value="16787635">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1257" value="16787539">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_12578" value="16787667">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1258" value="16787603">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_126" value="16787491">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1267" value="16787555">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_12678" value="16787683">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1268" value="16787619">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_127" value="16787523">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1278" value="16787651">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_128" value="16787587">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_13" value="16787461">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_134" value="16787469">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1345" value="16787485">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_13456" value="16787517">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_134567" value="16787581">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1345678" value="16787709">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_134568" value="16787645">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_13457" value="16787549">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_134578" value="16787677">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_13458" value="16787613">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1346" value="16787501">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_13467" value="16787565">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_134678" value="16787693">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_13468" value="16787629">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1347" value="16787533">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_13478" value="16787661">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1348" value="16787597">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_135" value="16787477">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1356" value="16787509">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_13567" value="16787573">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_135678" value="16787701">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_13568" value="16787637">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1357" value="16787541">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_13578" value="16787669">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1358" value="16787605">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_136" value="16787493">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1367" value="16787557">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_13678" value="16787685">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1368" value="16787621">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_137" value="16787525">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1378" value="16787653">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_138" value="16787589">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_14" value="16787465">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_145" value="16787481">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1456" value="16787513">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_14567" value="16787577">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_145678" value="16787705">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_14568" value="16787641">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1457" value="16787545">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_14578" value="16787673">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1458" value="16787609">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_146" value="16787497">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1467" value="16787561">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_14678" value="16787689">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1468" value="16787625">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_147" value="16787529">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1478" value="16787657">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_148" value="16787593">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_15" value="16787473">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_156" value="16787505">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1567" value="16787569">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_15678" value="16787697">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1568" value="16787633">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_157" value="16787537">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1578" value="16787665">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_158" value="16787601">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_16" value="16787489">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_167" value="16787553">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_1678" value="16787681">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_168" value="16787617">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_17" value="16787521">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_178" value="16787649">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_18" value="16787585">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_2" value="16787458">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_23" value="16787462">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_234" value="16787470">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_2345" value="16787486">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_23456" value="16787518">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_234567" value="16787582">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_2345678" value="16787710">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_234568" value="16787646">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_23457" value="16787550">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_234578" value="16787678">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_23458" value="16787614">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_2346" value="16787502">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_23467" value="16787566">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_234678" value="16787694">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_23468" value="16787630">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_2347" value="16787534">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_23478" value="16787662">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_2348" value="16787598">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_235" value="16787478">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_2356" value="16787510">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_23567" value="16787574">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_235678" value="16787702">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_23568" value="16787638">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_2357" value="16787542">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_23578" value="16787670">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_2358" value="16787606">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_236" value="16787494">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_2367" value="16787558">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_23678" value="16787686">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_2368" value="16787622">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_237" value="16787526">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_2378" value="16787654">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_238" value="16787590">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_24" value="16787466">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_245" value="16787482">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_2456" value="16787514">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_24567" value="16787578">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_245678" value="16787706">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_24568" value="16787642">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_2457" value="16787546">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_24578" value="16787674">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_2458" value="16787610">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_246" value="16787498">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_2467" value="16787562">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_24678" value="16787690">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_2468" value="16787626">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_247" value="16787530">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_2478" value="16787658">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_248" value="16787594">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_25" value="16787474">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_256" value="16787506">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_2567" value="16787570">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_25678" value="16787698">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_2568" value="16787634">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_257" value="16787538">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_2578" value="16787666">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_258" value="16787602">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_26" value="16787490">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_267" value="16787554">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_2678" value="16787682">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_268" value="16787618">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_27" value="16787522">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_278" value="16787650">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_28" value="16787586">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_3" value="16787460">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_34" value="16787468">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_345" value="16787484">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_3456" value="16787516">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_34567" value="16787580">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_345678" value="16787708">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_34568" value="16787644">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_3457" value="16787548">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_34578" value="16787676">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_3458" value="16787612">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_346" value="16787500">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_3467" value="16787564">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_34678" value="16787692">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_3468" value="16787628">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_347" value="16787532">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_3478" value="16787660">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_348" value="16787596">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_35" value="16787476">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_356" value="16787508">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_3567" value="16787572">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_35678" value="16787700">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_3568" value="16787636">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_357" value="16787540">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_3578" value="16787668">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_358" value="16787604">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_36" value="16787492">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_367" value="16787556">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_3678" value="16787684">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_368" value="16787620">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_37" value="16787524">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_378" value="16787652">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_38" value="16787588">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_4" value="16787464">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_45" value="16787480">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_456" value="16787512">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_4567" value="16787576">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_45678" value="16787704">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_4568" value="16787640">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_457" value="16787544">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_4578" value="16787672">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_458" value="16787608">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_46" value="16787496">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_467" value="16787560">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_4678" value="16787688">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_468" value="16787624">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_47" value="16787528">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_478" value="16787656">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_48" value="16787592">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_5" value="16787472">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_56" value="16787504">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_567" value="16787568">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_5678" value="16787696">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_568" value="16787632">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_57" value="16787536">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_578" value="16787664">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_58" value="16787600">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_6" value="16787488">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_67" value="16787552">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_678" value="16787680">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_68" value="16787616">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_7" value="16787520">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_78" value="16787648">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="braille_dots_8" value="16787584">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="breve" value="418">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="brokenbar" value="166">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="c" value="99">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="cabovedot" value="741">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="cacute" value="486">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <function name="cairo_set_source_color"
-              c:identifier="clutter_cairo_set_source_color"
-              version="1.0">
-      <doc xml:whitespace="preserve">Utility function for setting the source color of @cr using
-a #ClutterColor.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a Cairo context</doc>
-          <type name="cairo.Context" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="color" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterColor</doc>
-          <type name="Color" c:type="ClutterColor*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <constant name="careof" value="2744">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="caret" value="2812">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="caron" value="439">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ccaron" value="488">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ccedilla" value="231">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ccircumflex" value="742">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="cedilla" value="184">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="cent" value="162">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <function name="check_version"
-              c:identifier="clutter_check_version"
-              version="1.2">
-      <doc xml:whitespace="preserve">Run-time version check, to check the version the Clutter library
-that an application is currently linked against
-This is the run-time equivalent of the compile-time %CLUTTER_CHECK_VERSION
-pre-processor macro
-greater than (@major, @minor, @micro), and %FALSE otherwise</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the version of the Clutter library is</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="major" transfer-ownership="none">
-          <doc xml:whitespace="preserve">major version, like 1 in 1.2.3</doc>
-          <type name="guint" c:type="guint"/>
-        </parameter>
-        <parameter name="minor" transfer-ownership="none">
-          <doc xml:whitespace="preserve">minor version, like 2 in 1.2.3</doc>
-          <type name="guint" c:type="guint"/>
-        </parameter>
-        <parameter name="micro" transfer-ownership="none">
-          <doc xml:whitespace="preserve">micro version, like 3 in 1.2.3</doc>
-          <type name="guint" c:type="guint"/>
-        </parameter>
-      </parameters>
-    </function>
-    <constant name="checkerboard" value="2529">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="checkmark" value="2803">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="circle" value="3023">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <function name="clear_glyph_cache"
-              c:identifier="clutter_clear_glyph_cache"
-              version="0.8">
-      <doc xml:whitespace="preserve">Clears the internal cache of glyphs used by the Pango
-renderer. This will free up some memory and GL texture
-resources. The cache will be automatically refilled as more text is
-drawn.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <constant name="club" value="2796">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="colon" value="58">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <function name="color_equal"
-              c:identifier="clutter_color_equal"
-              version="0.2">
-      <doc xml:whitespace="preserve">Compares two #ClutterColor&lt;!-- --&gt;s and checks if they are the same.
-This function can be passed to g_hash_table_new() as the @key_equal_func
-parameter, when using #ClutterColor&lt;!-- --&gt;s as keys in a #GHashTable.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the two colors are the same.</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="v1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterColor</doc>
-          <type name="gpointer" c:type="gconstpointer"/>
-        </parameter>
-        <parameter name="v2" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterColor</doc>
-          <type name="gpointer" c:type="gconstpointer"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="color_hash"
-              c:identifier="clutter_color_hash"
-              version="1.0">
-      <doc xml:whitespace="preserve">Converts a #ClutterColor to a hash value.
-This function can be passed to g_hash_table_new() as the @hash_func
-parameter, when using #ClutterColor&lt;!-- --&gt;s as keys in a #GHashTable.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">a hash value corresponding to the color</doc>
-        <type name="guint" c:type="guint"/>
-      </return-value>
-      <parameters>
-        <parameter name="v" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterColor</doc>
-          <type name="gpointer" c:type="gconstpointer"/>
-        </parameter>
-      </parameters>
-    </function>
-    <constant name="comma" value="44">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <function name="container_class_find_child_property"
-              c:identifier="clutter_container_class_find_child_property"
-              version="0.8">
-      <doc xml:whitespace="preserve">Looks up the #GParamSpec for a child property of @klass.
-if no such property exist.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">The #GParamSpec for the property or %NULL</doc>
-        <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
-      </return-value>
-      <parameters>
-        <parameter name="klass" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GObjectClass implementing the #ClutterContainer interface.</doc>
-          <type name="GObject.ObjectClass" c:type="GObjectClass*"/>
-        </parameter>
-        <parameter name="property_name" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a property name.</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="container_class_list_child_properties"
-              c:identifier="clutter_container_class_list_child_properties"
-              version="0.8">
-      <doc xml:whitespace="preserve">Returns an array of #GParamSpec for all child properties.
-of #GParamSpec&lt;!-- --&gt;s which should be freed after use.</doc>
-      <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">an array</doc>
-        <array length="1" c:type="GParamSpec**">
-          <type name="GObject.ParamSpec"/>
-        </array>
-      </return-value>
-      <parameters>
-        <parameter name="klass" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GObjectClass implementing the #ClutterContainer interface.</doc>
-          <type name="GObject.ObjectClass" c:type="GObjectClass*"/>
-        </parameter>
-        <parameter name="n_properties"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">return location for length of returned array.</doc>
-          <type name="guint" c:type="guint*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <constant name="containsas" value="16785931">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="copyright" value="169">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="cr" value="2532">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="crossinglines" value="2542">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="cuberoot" value="16785947">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="currency" value="164">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="cursor" value="2815">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="d" value="100">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dabovedot" value="16784907">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dagger" value="2801">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dcaron" value="495">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_A" value="65153">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_E" value="65155">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_I" value="65157">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_O" value="65159">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_U" value="65161">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_a" value="65152">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_abovecomma" value="65124">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_abovedot" value="65110">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_abovereversedcomma" value="65125">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_abovering" value="65112">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_acute" value="65105">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_belowbreve" value="65131">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_belowcircumflex" value="65129">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_belowcomma" value="65134">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_belowdiaeresis" value="65132">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_belowdot" value="65120">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_belowmacron" value="65128">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_belowring" value="65127">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_belowtilde" value="65130">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_breve" value="65109">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_capital_schwa" value="65163">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_caron" value="65114">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_cedilla" value="65115">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_circumflex" value="65106">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_currency" value="65135">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_dasia" value="65125">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_diaeresis" value="65111">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_doubleacute" value="65113">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_doublegrave" value="65126">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_e" value="65154">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_grave" value="65104">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_hook" value="65121">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_horn" value="65122">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_i" value="65156">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_invertedbreve" value="65133">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_iota" value="65117">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_macron" value="65108">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_o" value="65158">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_ogonek" value="65116">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_perispomeni" value="65107">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_psili" value="65124">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_semivoiced_sound" value="65119">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_small_schwa" value="65162">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_stroke" value="65123">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_tilde" value="65107">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_u" value="65160">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dead_voiced_sound" value="65118">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="decimalpoint" value="2749">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="degree" value="176">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="diaeresis" value="168">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="diamond" value="2797">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="digitspace" value="2725">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dintegral" value="16785964">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="division" value="247">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <function name="do_event" c:identifier="clutter_do_event">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="event" transfer-ownership="none">
-          <type name="Event" c:type="ClutterEvent*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <constant name="dollar" value="36">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="doubbaselinedot" value="2735">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="doubleacute" value="445">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="doubledagger" value="2802">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="doublelowquotemark" value="2814">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="downarrow" value="2302">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="downcaret" value="2984">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="downshoe" value="3030">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="downstile" value="3012">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="downtack" value="3010">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="dstroke" value="496">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="e" value="101">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="eabovedot" value="1004">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="eacute" value="233">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ebelowdot" value="16785081">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ecaron" value="492">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ecircumflex" value="234">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ecircumflexacute" value="16785087">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ecircumflexbelowdot" value="16785095">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ecircumflexgrave" value="16785089">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ecircumflexhook" value="16785091">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ecircumflextilde" value="16785093">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ediaeresis" value="235">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="egrave" value="232">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ehook" value="16785083">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="eightsubscript" value="16785544">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="eightsuperior" value="16785528">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="elementof" value="16785928">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ellipsis" value="2734">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="em3space" value="2723">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="em4space" value="2724">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="emacron" value="954">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="emdash" value="2729">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="emfilledcircle" value="2782">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="emfilledrect" value="2783">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="emopencircle" value="2766">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="emopenrectangle" value="2767">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="emptyset" value="16785925">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="emspace" value="2721">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="endash" value="2730">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="enfilledcircbullet" value="2790">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="enfilledsqbullet" value="2791">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="eng" value="959">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="enopencircbullet" value="2784">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="enopensquarebullet" value="2785">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="enspace" value="2722">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="eogonek" value="490">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="equal" value="61">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="eth" value="240">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="etilde" value="16785085">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <function name="event_get" c:identifier="clutter_event_get" version="0.4">
-      <doc xml:whitespace="preserve">Pops an event off the event queue. Applications should not need to call 
-this.</doc>
-      <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">A #ClutterEvent or NULL if queue empty</doc>
-        <type name="Event" c:type="ClutterEvent*"/>
-      </return-value>
-    </function>
-    <function name="event_peek"
-              c:identifier="clutter_event_peek"
-              version="0.4">
-      <doc xml:whitespace="preserve">Returns a pointer to the first event from the event queue but 
-does not remove it.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">A #ClutterEvent or NULL if queue empty.</doc>
-        <type name="Event" c:type="ClutterEvent*"/>
-      </return-value>
-    </function>
-    <function name="events_pending"
-              c:identifier="clutter_events_pending"
-              version="0.4">
-      <doc xml:whitespace="preserve">Checks if events are pending in the event queue.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">TRUE if there are pending events, FALSE otherwise.</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-    </function>
-    <constant name="exclam" value="33">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="exclamdown" value="161">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="f" value="102">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="fabovedot" value="16784927">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <function name="feature_available"
-              c:identifier="clutter_feature_available"
-              version="0.1.1">
-      <doc xml:whitespace="preserve">Checks whether @feature is available.  @feature can be a logical
-OR of #ClutterFeatureFlags.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if a feature is available</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="feature" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterFeatureFlags</doc>
-          <type name="FeatureFlags" c:type="ClutterFeatureFlags"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="feature_get_all"
-              c:identifier="clutter_feature_get_all"
-              version="0.1.1">
-      <doc xml:whitespace="preserve">Returns all the supported features.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">a logical OR of all the supported features.</doc>
-        <type name="FeatureFlags" c:type="ClutterFeatureFlags"/>
-      </return-value>
-    </function>
-    <constant name="femalesymbol" value="2808">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ff" value="2531">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="figdash" value="2747">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="filledlefttribullet" value="2780">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="filledrectbullet" value="2779">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="filledrighttribullet" value="2781">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="filledtribulletdown" value="2793">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="filledtribulletup" value="2792">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="fiveeighths" value="2757">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="fivesixths" value="2743">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="fivesubscript" value="16785541">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="fivesuperior" value="16785525">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="fourfifths" value="2741">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="foursubscript" value="16785540">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="foursuperior" value="16785524">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="fourthroot" value="16785948">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <function name="frame_source_add"
-              c:identifier="clutter_frame_source_add"
-              shadowed-by="frame_source_add_full"
-              version="0.8"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Simple wrapper around clutter_frame_source_add_full().</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the ID (greater than 0) of the event source.</doc>
-        <type name="guint" c:type="guint"/>
-      </return-value>
-      <parameters>
-        <parameter name="fps" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of times per second to call the function</doc>
-          <type name="guint" c:type="guint"/>
-        </parameter>
-        <parameter name="func" transfer-ownership="none" closure="2">
-          <doc xml:whitespace="preserve">function to call</doc>
-          <type name="GLib.SourceFunc" c:type="GSourceFunc"/>
-        </parameter>
-        <parameter name="data" transfer-ownership="none">
-          <doc xml:whitespace="preserve">data to pass to the function</doc>
-          <type name="gpointer" c:type="gpointer"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="frame_source_add_full"
-              c:identifier="clutter_frame_source_add_full"
-              shadows="frame_source_add"
-              version="0.8">
-      <doc xml:whitespace="preserve">Sets a function to be called at regular intervals with the given
-priority.  The function is called repeatedly until it returns
-%FALSE, at which point the timeout is automatically destroyed and
-the function will not be called again.  The @notify function is
-called when the timeout is destroyed.  The first call to the
-function will be at the end of the first @interval.
-This function is similar to g_timeout_add_full() except that it
-will try to compensate for delays. For example, if @func takes half
-the interval time to execute then the function will be called again
-half the interval time after it finished. In contrast
-g_timeout_add_full() would not fire until a full interval after the
-function completes so the delay between calls would be 1.0 / @fps *
-1.5. This function does not however try to invoke the function
-multiple times to catch up missing frames if @func takes more than</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the ID (greater than 0) of the event source.</doc>
-        <type name="guint" c:type="guint"/>
-      </return-value>
-      <parameters>
-        <parameter name="priority" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the priority of the frame source. Typically this will be in the range between %G_PRIORITY_DEFAULT and %G_PRIORITY_HIGH.</doc>
-          <type name="gint" c:type="gint"/>
-        </parameter>
-        <parameter name="fps" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of times per second to call the function</doc>
-          <type name="guint" c:type="guint"/>
-        </parameter>
-        <parameter name="func"
-                   transfer-ownership="none"
-                   scope="notified"
-                   closure="3"
-                   destroy="4">
-          <doc xml:whitespace="preserve">function to call</doc>
-          <type name="GLib.SourceFunc" c:type="GSourceFunc"/>
-        </parameter>
-        <parameter name="data" transfer-ownership="none">
-          <doc xml:whitespace="preserve">data to pass to the function</doc>
-          <type name="gpointer" c:type="gpointer"/>
-        </parameter>
-        <parameter name="notify" transfer-ownership="none" scope="async">
-          <doc xml:whitespace="preserve">function to call when the timeout source is removed</doc>
-          <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
-        </parameter>
-      </parameters>
-    </function>
-    <constant name="function" value="2294">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="g" value="103">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="gabovedot" value="757">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="gbreve" value="699">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="gcaron" value="16777703">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="gcedilla" value="955">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="gcircumflex" value="760">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <function name="get_accessibility_enabled"
-              c:identifier="clutter_get_accessibility_enabled"
-              version="1.4">
-      <doc xml:whitespace="preserve">Returns whether Clutter has accessibility support enabled.  As
-least, a value of TRUE means that there are a proper AtkUtil
-implementation available</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if Clutter has accessibility support enabled</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-    </function>
-    <function name="get_actor_by_gid"
-              c:identifier="clutter_get_actor_by_gid"
-              version="0.6">
-      <doc xml:whitespace="preserve">Retrieves the #ClutterActor with @id.
-The returned actor does not have its reference count increased.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the actor with the passed id or %NULL.</doc>
-        <type name="Actor" c:type="ClutterActor*"/>
-      </return-value>
-      <parameters>
-        <parameter name="id" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterActor ID.</doc>
-          <type name="guint32" c:type="guint32"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_current_event"
-              c:identifier="clutter_get_current_event"
-              version="1.2">
-      <doc xml:whitespace="preserve">If an event is currently being processed, return that event.
-This function is intended to be used to access event state
-that might not be exposed by higher-level widgets.  For
-example, to get the key modifier state from a Button 'clicked'
-event.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">The current ClutterEvent, or %NULL if none</doc>
-        <type name="Event" c:type="ClutterEvent*"/>
-      </return-value>
-    </function>
-    <function name="get_current_event_time"
-              c:identifier="clutter_get_current_event_time"
-              version="1.0">
-      <doc xml:whitespace="preserve">Retrieves the timestamp of the last event, if there is an
-event or if the event has a timestamp.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the event timestamp, or %CLUTTER_CURRENT_TIME</doc>
-        <type name="guint32" c:type="guint32"/>
-      </return-value>
-    </function>
-    <function name="get_debug_enabled"
-              c:identifier="clutter_get_debug_enabled">
-      <doc xml:whitespace="preserve">Check if clutter has debugging turned on.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">TRUE if debugging is turned on, FALSE otherwise.</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-    </function>
-    <function name="get_default_backend"
-              c:identifier="clutter_get_default_backend"
-              version="0.4">
-      <doc xml:whitespace="preserve">Retrieves the default #ClutterBackend used by Clutter. The
-#ClutterBackend holds backend-specific configuration options.
-not ref or unref the returned object. Applications should rarely
-need to use this.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the default backend. You should</doc>
-        <type name="Backend" c:type="ClutterBackend*"/>
-      </return-value>
-    </function>
-    <function name="get_default_frame_rate"
-              c:identifier="clutter_get_default_frame_rate"
-              version="0.6">
-      <doc xml:whitespace="preserve">Retrieves the default frame rate. See clutter_set_default_frame_rate().</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the default frame rate</doc>
-        <type name="guint" c:type="guint"/>
-      </return-value>
-    </function>
-    <function name="get_default_text_direction"
-              c:identifier="clutter_get_default_text_direction"
-              version="1.2">
-      <doc xml:whitespace="preserve">Retrieves the default direction for the text. The text direction is
-determined by the locale and/or by the %CLUTTER_TEXT_DIRECTION environment
-variable
-The default text direction can be overridden on a per-actor basis by using
-clutter_actor_set_text_direction()</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the default text direction</doc>
-        <type name="TextDirection" c:type="ClutterTextDirection"/>
-      </return-value>
-    </function>
-    <function name="get_font_flags"
-              c:identifier="clutter_get_font_flags"
-              version="1.0">
-      <doc xml:whitespace="preserve">Gets the current font flags for rendering text. See
-clutter_set_font_flags().</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">The font flags</doc>
-        <type name="FontFlags" c:type="ClutterFontFlags"/>
-      </return-value>
-    </function>
-    <function name="get_font_map"
-              c:identifier="clutter_get_font_map"
-              version="1.0">
-      <doc xml:whitespace="preserve">Retrieves the #PangoFontMap instance used by Clutter.
-You can use the global font map object with the COGL
-Pango API.
-value is owned by Clutter and it should never be unreferenced.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the #PangoFontMap instance. The returned</doc>
-        <type name="Pango.FontMap" c:type="PangoFontMap*"/>
-      </return-value>
-    </function>
-    <function name="get_input_device_for_id"
-              c:identifier="clutter_get_input_device_for_id"
-              version="0.8">
-      <doc xml:whitespace="preserve">Retrieves the #ClutterInputDevice from its @id. This is a convenience
-wrapper for clutter_device_manager_get_device() and it is functionally
-equivalent to:
-|[
-ClutterDeviceManager *manager;
-ClutterInputDevice *device;
-manager = clutter_device_manager_get_default ();
-device = clutter_device_manager_get_device (manager, id);
-]|</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">a #ClutterInputDevice, or %NULL</doc>
-        <type name="InputDevice" c:type="ClutterInputDevice*"/>
-      </return-value>
-      <parameters>
-        <parameter name="id" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the unique id for a device</doc>
-          <type name="gint" c:type="gint"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_keyboard_grab"
-              c:identifier="clutter_get_keyboard_grab"
-              version="0.6">
-      <doc xml:whitespace="preserve">Queries the current keyboard grab of clutter.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the actor currently holding the keyboard grab, or NULL if there is no grab.</doc>
-        <type name="Actor" c:type="ClutterActor*"/>
-      </return-value>
-    </function>
-    <function name="get_motion_events_enabled"
-              c:identifier="clutter_get_motion_events_enabled"
-              version="0.6">
-      <doc xml:whitespace="preserve">Gets whether the per-actor motion events are enabled.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the motion events are enabled</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-    </function>
-    <function name="get_option_group"
-              c:identifier="clutter_get_option_group"
-              version="0.2"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Returns a #GOptionGroup for the command line arguments recognized
-by Clutter. You should add this group to your #GOptionContext with
-g_option_context_add_group(), if you are using g_option_context_parse()
-to parse your commandline arguments.
-Calling g_option_context_parse() with Clutter's #GOptionGroup will result
-in Clutter's initialization. That is, the following code:
-|[
-g_option_context_set_main_group (context, clutter_get_option_group ());
-res = g_option_context_parse (context, &amp;amp;argc, &amp;amp;argc, NULL);
-]|
-is functionally equivalent to:
-|[
-clutter_init (&amp;amp;argc, &amp;amp;argv);
-]|
-After g_option_context_parse() on a #GOptionContext containing the
-Clutter #GOptionGroup has returned %TRUE, Clutter is guaranteed to be
-initialized.
-recognized by Clutter</doc>
-      <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a #GOptionGroup for the commandline arguments</doc>
-        <type name="GLib.OptionGroup" c:type="GOptionGroup*"/>
-      </return-value>
-    </function>
-    <function name="get_option_group_without_init"
-              c:identifier="clutter_get_option_group_without_init"
-              version="0.8.2"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Returns a #GOptionGroup for the command line arguments recognized
-by Clutter. You should add this group to your #GOptionContext with
-g_option_context_add_group(), if you are using g_option_context_parse()
-to parse your commandline arguments. Unlike clutter_get_option_group(),
-calling g_option_context_parse() with the #GOptionGroup returned by this
-function requires a subsequent explicit call to clutter_init(); use this
-function when needing to set foreign display connection with
-clutter_x11_set_display(), or with gtk_clutter_init().
-recognized by Clutter</doc>
-      <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a #GOptionGroup for the commandline arguments</doc>
-        <type name="GLib.OptionGroup" c:type="GOptionGroup*"/>
-      </return-value>
-    </function>
-    <function name="get_pointer_grab"
-              c:identifier="clutter_get_pointer_grab"
-              version="0.6">
-      <doc xml:whitespace="preserve">Queries the current pointer grab of clutter.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the actor currently holding the pointer grab, or NULL if there is no grab.</doc>
-        <type name="Actor" c:type="ClutterActor*"/>
-      </return-value>
-    </function>
-    <function name="get_script_id"
-              c:identifier="clutter_get_script_id"
-              version="0.6">
-      <doc xml:whitespace="preserve">Retrieves the Clutter script id, if any.
-a UI definition file. The returned string is owned by the object and
-should never be modified or freed.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the script id, or %NULL if @object was not defined inside</doc>
-        <type name="utf8" c:type="gchar*"/>
-      </return-value>
-      <parameters>
-        <parameter name="gobject" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GObject</doc>
-          <type name="GObject.Object" c:type="GObject*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_show_fps"
-              c:identifier="clutter_get_show_fps"
-              version="0.4">
-      <doc xml:whitespace="preserve">Returns whether Clutter should print out the frames per second on the
-console. You can enable this setting either using the
-&lt;literal&gt;CLUTTER_SHOW_FPS&lt;/literal&gt; environment variable or passing
-the &lt;literal&gt;--clutter-show-fps&lt;/literal&gt; command line argument. *</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if Clutter should show the FPS.</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-    </function>
-    <function name="get_timestamp" c:identifier="clutter_get_timestamp">
-      <doc xml:whitespace="preserve">Returns the approximate number of microseconds passed since clutter was
-intialised.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">Number of microseconds since clutter_init() was called.</doc>
-        <type name="gulong" c:type="gulong"/>
-      </return-value>
-    </function>
-    <function name="grab_keyboard"
-              c:identifier="clutter_grab_keyboard"
-              version="0.6">
-      <doc xml:whitespace="preserve">Grabs keyboard events, after the grab is done keyboard
-events (#ClutterActor::key-press-event and #ClutterActor::key-release-event)
-are delivered to this actor directly. The source set in the event will be
-the actor that would have received the event if the keyboard grab was not
-in effect.
-Like pointer grabs, keyboard grabs should only be used as a last
-resource.
-See also clutter_stage_set_key_focus() and clutter_actor_grab_key_focus()
-to perform a "soft" key grab and assign key focus to a specific actor.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="actor" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterActor</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="grab_pointer"
-              c:identifier="clutter_grab_pointer"
-              version="0.6">
-      <doc xml:whitespace="preserve">Grabs pointer events, after the grab is done all pointer related events
-(press, motion, release, enter, leave and scroll) are delivered to this
-actor directly without passing through both capture and bubble phases of
-the event delivery chain. The source set in the event will be the actor
-that would have received the event if the pointer grab was not in effect.
-&lt;note&gt;&lt;para&gt;Grabs completely override the entire event delivery chain
-done by Clutter. Pointer grabs should only be used as a last resource;
-using the #ClutterActor::captured-event signal should always be the
-preferred way to intercept event delivery to reactive actors.&lt;/para&gt;&lt;/note&gt;
-If you wish to grab all the pointer events for a specific input device,
-you should use clutter_grab_pointer_for_device().</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="actor" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterActor</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="grab_pointer_for_device"
-              c:identifier="clutter_grab_pointer_for_device"
-              version="0.8">
-      <doc xml:whitespace="preserve">Grabs all the pointer events coming from the device @id for @actor.
-If @id is -1 then this function is equivalent to clutter_grab_pointer().</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="actor" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterActor</doc>
-          <type name="Actor" c:type="ClutterActor*"/>
-        </parameter>
-        <parameter name="id" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a device id, or -1</doc>
-          <type name="gint" c:type="gint"/>
-        </parameter>
-      </parameters>
-    </function>
-    <constant name="grave" value="96">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="greater" value="62">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="greaterthanequal" value="2238">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="guillemotleft" value="171">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="guillemotright" value="187">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="h" value="104">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hairspace" value="2728">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hcircumflex" value="694">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="heart" value="2798">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_aleph" value="3296">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_ayin" value="3314">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_bet" value="3297">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_beth" value="3297">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_chet" value="3303">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_dalet" value="3299">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_daleth" value="3299">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_doublelowline" value="3295">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_finalkaph" value="3306">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_finalmem" value="3309">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_finalnun" value="3311">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_finalpe" value="3315">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_finalzade" value="3317">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_finalzadi" value="3317">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_gimel" value="3298">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_gimmel" value="3298">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_he" value="3300">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_het" value="3303">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_kaph" value="3307">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_kuf" value="3319">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_lamed" value="3308">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_mem" value="3310">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_nun" value="3312">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_pe" value="3316">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_qoph" value="3319">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_resh" value="3320">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_samech" value="3313">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_samekh" value="3313">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_shin" value="3321">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_taf" value="3322">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_taw" value="3322">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_tet" value="3304">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_teth" value="3304">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_waw" value="3301">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_yod" value="3305">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_zade" value="3318">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_zadi" value="3318">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_zain" value="3302">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hebrew_zayin" value="3302">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hexagram" value="2778">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="horizconnector" value="2211">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="horizlinescan1" value="2543">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="horizlinescan3" value="2544">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="horizlinescan5" value="2545">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="horizlinescan7" value="2546">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="horizlinescan9" value="2547">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hstroke" value="689">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ht" value="2530">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="hyphen" value="173">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="i" value="105">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="iTouch" value="269025120">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="iacute" value="237">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ibelowdot" value="16785099">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ibreve" value="16777517">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="icircumflex" value="238">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="identical" value="2255">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="idiaeresis" value="239">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="idotless" value="697">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ifonlyif" value="2253">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="igrave" value="236">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ihook" value="16785097">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="imacron" value="1007">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="implies" value="2254">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="includedin" value="2266">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="includes" value="2267">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="infinity" value="2242">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <function name="init" c:identifier="clutter_init">
-      <doc xml:whitespace="preserve">It will initialise everything needed to operate with Clutter and
-parses some standard command line options. @argc and @argv are
-adjusted accordingly so your own code will never see those standard
-arguments.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">1 on success, &lt; 0 on failure.</doc>
-        <type name="InitError" c:type="ClutterInitError"/>
-      </return-value>
-      <parameters>
-        <parameter name="argc"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">The number of arguments in @argv</doc>
-          <type name="gint" c:type="int*"/>
-        </parameter>
-        <parameter name="argv"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full"
-                   allow-none="1">
-          <doc xml:whitespace="preserve">A pointer to an array of arguments.</doc>
-          <array length="0" c:type="char***">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="init_error_quark" c:identifier="clutter_init_error_quark">
-      <return-value transfer-ownership="none">
-        <type name="GLib.Quark" c:type="GQuark"/>
-      </return-value>
-    </function>
-    <function name="init_with_args"
-              c:identifier="clutter_init_with_args"
-              version="0.2"
-              throws="1">
-      <doc xml:whitespace="preserve">This function does the same work as clutter_init(). Additionally,
-it allows you to add your own command line options, and it
-automatically generates nicely formatted &lt;option&gt;--help&lt;/option&gt;
-output. Note that your program will be terminated after writing
-out the help output. Also note that, in case of error, the
-error message will be placed inside @error instead of being
-printed on the display.
-initialised, or other values or #ClutterInitError in case of
-error.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%CLUTTER_INIT_SUCCESS if Clutter has been successfully</doc>
-        <type name="InitError" c:type="ClutterInitError"/>
-      </return-value>
-      <parameters>
-        <parameter name="argc"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">a pointer to the number of command line arguments</doc>
-          <type name="gint" c:type="int*"/>
-        </parameter>
-        <parameter name="argv"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full"
-                   allow-none="1">
-          <doc xml:whitespace="preserve">a pointer to the array of command line arguments</doc>
-          <array length="0" c:type="char***">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-        <parameter name="parameter_string"
-                   transfer-ownership="none"
-                   allow-none="1">
-          <doc xml:whitespace="preserve">a string which is displayed in the first line of &lt;option&gt;--help&lt;/option&gt; output, after &lt;literal&gt;&lt;replaceable&gt;programname&lt;/replaceable&gt; [OPTION...]&lt;/literal&gt;</doc>
-          <type name="utf8" c:type="char*"/>
-        </parameter>
-        <parameter name="entries" transfer-ownership="none" allow-none="1">
-          <doc xml:whitespace="preserve">a %NULL terminated array of #GOptionEntry&lt;!-- --&gt;s describing the options of your program</doc>
-          <type name="GLib.OptionEntry" c:type="GOptionEntry*"/>
-        </parameter>
-        <parameter name="translation_domain"
-                   transfer-ownership="none"
-                   allow-none="1">
-          <doc xml:whitespace="preserve">a translation domain to use for translating the &lt;option&gt;--help&lt;/option&gt; output for the options in</doc>
-          <type name="utf8" c:type="char*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <constant name="integral" value="2239">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="intersection" value="2268">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="iogonek" value="999">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="itilde" value="949">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="j" value="106">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="jcircumflex" value="700">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="jot" value="3018">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="k" value="107">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_A" value="1201">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_CHI" value="1217">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_E" value="1204">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_FU" value="1228">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_HA" value="1226">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_HE" value="1229">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_HI" value="1227">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_HO" value="1230">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_HU" value="1228">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_I" value="1202">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_KA" value="1206">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_KE" value="1209">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_KI" value="1207">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_KO" value="1210">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_KU" value="1208">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_MA" value="1231">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_ME" value="1234">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_MI" value="1232">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_MO" value="1235">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_MU" value="1233">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_N" value="1245">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_NA" value="1221">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_NE" value="1224">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_NI" value="1222">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_NO" value="1225">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_NU" value="1223">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_O" value="1205">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_RA" value="1239">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_RE" value="1242">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_RI" value="1240">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_RO" value="1243">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_RU" value="1241">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_SA" value="1211">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_SE" value="1214">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_SHI" value="1212">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_SO" value="1215">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_SU" value="1213">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_TA" value="1216">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_TE" value="1219">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_TI" value="1217">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_TO" value="1220">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_TSU" value="1218">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_TU" value="1218">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_U" value="1203">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_WA" value="1244">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_WO" value="1190">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_YA" value="1236">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_YO" value="1238">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_YU" value="1237">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_a" value="1191">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_closingbracket" value="1187">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_comma" value="1188">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_conjunctive" value="1189">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_e" value="1194">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_fullstop" value="1185">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_i" value="1192">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_middledot" value="1189">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_o" value="1195">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_openingbracket" value="1186">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_switch" value="65406">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_tsu" value="1199">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_tu" value="1199">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_u" value="1193">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_ya" value="1196">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_yo" value="1198">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kana_yu" value="1197">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kappa" value="930">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="kcedilla" value="1011">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <function name="keysym_to_unicode"
-              c:identifier="clutter_keysym_to_unicode">
-      <doc xml:whitespace="preserve">Convert from a Clutter key symbol to the corresponding ISO10646 (Unicode)
-character.
-character.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">a Unicode character, or 0 if there  is no corresponding</doc>
-        <type name="guint32" c:type="guint32"/>
-      </return-value>
-      <parameters>
-        <parameter name="keyval" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a key symbol</doc>
-          <type name="guint" c:type="guint"/>
-        </parameter>
-      </parameters>
-    </function>
-    <constant name="kra" value="930">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="l" value="108">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="lacute" value="485">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="latincross" value="2777">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="lbelowdot" value="16784951">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="lcaron" value="437">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="lcedilla" value="950">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="leftanglebracket" value="2748">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="leftarrow" value="2299">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="leftcaret" value="2979">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="leftdoublequotemark" value="2770">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="leftmiddlecurlybrace" value="2223">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="leftopentriangle" value="2764">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="leftpointer" value="2794">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="leftradical" value="2209">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="leftshoe" value="3034">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="leftsinglequotemark" value="2768">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="leftt" value="2548">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="lefttack" value="3036">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="less" value="60">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="lessthanequal" value="2236">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="lf" value="2533">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="logicaland" value="2270">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="logicalor" value="2271">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="lowleftcorner" value="2541">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="lowrightcorner" value="2538">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="lstroke" value="435">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="m" value="109">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="mabovedot" value="16784961">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="macron" value="175">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <function name="main" c:identifier="clutter_main">
-      <doc xml:whitespace="preserve">Starts the Clutter mainloop.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="main_level" c:identifier="clutter_main_level">
-      <doc xml:whitespace="preserve">Retrieves the depth of the Clutter mainloop.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">The level of the mainloop.</doc>
-        <type name="gint" c:type="gint"/>
-      </return-value>
-    </function>
-    <function name="main_quit" c:identifier="clutter_main_quit">
-      <doc xml:whitespace="preserve">Terminates the Clutter mainloop.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <constant name="malesymbol" value="2807">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="maltesecross" value="2800">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="marker" value="2751">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="masculine" value="186">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="minus" value="45">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="minutes" value="2774">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="mu" value="181">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="multiply" value="215">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="musicalflat" value="2806">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="musicalsharp" value="2805">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="n" value="110">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="nabla" value="2245">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="nacute" value="497">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ncaron" value="498">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ncedilla" value="1009">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ninesubscript" value="16785545">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ninesuperior" value="16785529">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="nl" value="2536">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="nobreakspace" value="160">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="notapproxeq" value="16785991">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="notelementof" value="16785929">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="notequal" value="2237">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="notidentical" value="16786018">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="notsign" value="172">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ntilde" value="241">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="numbersign" value="35">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="numerosign" value="1712">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="o" value="111">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="oacute" value="243">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="obarred" value="16777845">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="obelowdot" value="16785101">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ocaron" value="16777682">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ocircumflex" value="244">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ocircumflexacute" value="16785105">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ocircumflexbelowdot" value="16785113">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ocircumflexgrave" value="16785107">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ocircumflexhook" value="16785109">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ocircumflextilde" value="16785111">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="odiaeresis" value="246">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="odoubleacute" value="501">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="oe" value="5053">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ogonek" value="434">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ograve" value="242">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ohook" value="16785103">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ohorn" value="16777633">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ohornacute" value="16785115">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ohornbelowdot" value="16785123">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ohorngrave" value="16785117">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ohornhook" value="16785119">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ohorntilde" value="16785121">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="omacron" value="1010">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="oneeighth" value="2755">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="onefifth" value="2738">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="onehalf" value="189">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="onequarter" value="188">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="onesixth" value="2742">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="onesubscript" value="16785537">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="onesuperior" value="185">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="onethird" value="2736">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ooblique" value="248">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="openrectbullet" value="2786">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="openstar" value="2789">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="opentribulletdown" value="2788">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="opentribulletup" value="2787">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ordfeminine" value="170">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="oslash" value="248">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="otilde" value="245">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="overbar" value="3008">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="overline" value="1150">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="p" value="112">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="pabovedot" value="16784983">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="paragraph" value="182">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <function name="param_spec_color"
-              c:identifier="clutter_param_spec_color"
-              version="0.8.4"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Creates a #GParamSpec for properties using #ClutterColor.</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">the newly created #GParamSpec</doc>
-        <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
-      </return-value>
-      <parameters>
-        <parameter name="name" transfer-ownership="none">
-          <doc xml:whitespace="preserve">name of the property</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </parameter>
-        <parameter name="nick" transfer-ownership="none">
-          <doc xml:whitespace="preserve">short name</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </parameter>
-        <parameter name="blurb" transfer-ownership="none">
-          <doc xml:whitespace="preserve">description (can be translatable)</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </parameter>
-        <parameter name="default_value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">default value</doc>
-          <type name="Color" c:type="ClutterColor*"/>
-        </parameter>
-        <parameter name="flags" transfer-ownership="none">
-          <doc xml:whitespace="preserve">flags for the param spec</doc>
-          <type name="GObject.ParamFlags" c:type="GParamFlags"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="param_spec_fixed"
-              c:identifier="clutter_param_spec_fixed"
-              version="0.8"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Creates a #GParamSpec for properties using #CoglFixed values</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">the newly created #GParamSpec</doc>
-        <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
-      </return-value>
-      <parameters>
-        <parameter name="name" transfer-ownership="none">
-          <doc xml:whitespace="preserve">name of the property</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </parameter>
-        <parameter name="nick" transfer-ownership="none">
-          <doc xml:whitespace="preserve">short name</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </parameter>
-        <parameter name="blurb" transfer-ownership="none">
-          <doc xml:whitespace="preserve">description (can be translatable)</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </parameter>
-        <parameter name="minimum" transfer-ownership="none">
-          <doc xml:whitespace="preserve">lower boundary</doc>
-          <type name="Cogl.Fixed" c:type="CoglFixed"/>
-        </parameter>
-        <parameter name="maximum" transfer-ownership="none">
-          <doc xml:whitespace="preserve">higher boundary</doc>
-          <type name="Cogl.Fixed" c:type="CoglFixed"/>
-        </parameter>
-        <parameter name="default_value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">default value</doc>
-          <type name="Cogl.Fixed" c:type="CoglFixed"/>
-        </parameter>
-        <parameter name="flags" transfer-ownership="none">
-          <doc xml:whitespace="preserve">flags for the param spec</doc>
-          <type name="GObject.ParamFlags" c:type="GParamFlags"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="param_spec_units"
-              c:identifier="clutter_param_spec_units"
-              version="1.0"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Creates a #GParamSpec for properties using #ClutterUnits.</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">the newly created #GParamSpec</doc>
-        <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
-      </return-value>
-      <parameters>
-        <parameter name="name" transfer-ownership="none">
-          <doc xml:whitespace="preserve">name of the property</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </parameter>
-        <parameter name="nick" transfer-ownership="none">
-          <doc xml:whitespace="preserve">short name</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </parameter>
-        <parameter name="blurb" transfer-ownership="none">
-          <doc xml:whitespace="preserve">description (can be translatable)</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </parameter>
-        <parameter name="default_type" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the default type for the #ClutterUnits</doc>
-          <type name="UnitType" c:type="ClutterUnitType"/>
-        </parameter>
-        <parameter name="minimum" transfer-ownership="none">
-          <doc xml:whitespace="preserve">lower boundary</doc>
-          <type name="gfloat" c:type="gfloat"/>
-        </parameter>
-        <parameter name="maximum" transfer-ownership="none">
-          <doc xml:whitespace="preserve">higher boundary</doc>
-          <type name="gfloat" c:type="gfloat"/>
-        </parameter>
-        <parameter name="default_value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">default value</doc>
-          <type name="gfloat" c:type="gfloat"/>
-        </parameter>
-        <parameter name="flags" transfer-ownership="none">
-          <doc xml:whitespace="preserve">flags for the param spec</doc>
-          <type name="GObject.ParamFlags" c:type="GParamFlags"/>
-        </parameter>
-      </parameters>
-    </function>
-    <constant name="parenleft" value="40">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="parenright" value="41">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="partdifferential" value="16785922">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="partialderivative" value="2287">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="percent" value="37">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="period" value="46">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="periodcentered" value="183">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="phonographcopyright" value="2811">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="plus" value="43">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="plusminus" value="177">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="prescription" value="2772">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="prolongedsound" value="1200">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="punctspace" value="2726">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="q" value="113">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="quad" value="3020">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="question" value="63">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="questiondown" value="191">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="quotedbl" value="34">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="quoteleft" value="96">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="quoteright" value="39">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="r" value="114">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="racute" value="480">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="radical" value="2262">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="rcaron" value="504">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="rcedilla" value="947">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <function name="redraw" c:identifier="clutter_redraw">
-      <doc xml:whitespace="preserve">Forces a redraw of the entire stage. Applications should never use this
-function, but queue a redraw using clutter_actor_queue_redraw().
-This function should only be used by libraries integrating Clutter from
-within another toolkit.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="stage" transfer-ownership="none">
-          <type name="Stage" c:type="ClutterStage*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <constant name="registered" value="174">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="rightanglebracket" value="2750">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="rightarrow" value="2301">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="rightcaret" value="2982">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="rightdoublequotemark" value="2771">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="rightmiddlecurlybrace" value="2224">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="rightmiddlesummation" value="2231">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="rightopentriangle" value="2765">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="rightpointer" value="2795">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="rightshoe" value="3032">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="rightsinglequotemark" value="2769">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="rightt" value="2549">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="righttack" value="3068">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="s" value="115">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="sabovedot" value="16784993">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="sacute" value="438">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="scaron" value="441">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="scedilla" value="442">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="schwa" value="16777817">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="scircumflex" value="766">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <function name="script_error_quark"
-              c:identifier="clutter_script_error_quark">
-      <return-value transfer-ownership="none">
-        <type name="GLib.Quark" c:type="GQuark"/>
-      </return-value>
-    </function>
-    <constant name="script_switch" value="65406">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="seconds" value="2775">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="section" value="167">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="semicolon" value="59">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="semivoicedsound" value="1247">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <function name="set_default_frame_rate"
-              c:identifier="clutter_set_default_frame_rate"
-              version="0.6">
-      <doc xml:whitespace="preserve">Sets the default frame rate. This frame rate will be used to limit
-the number of frames drawn if Clutter is not able to synchronize
-with the vertical refresh rate of the display. When synchronization
-is possible, this value is ignored.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="frames_per_sec" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the new default frame rate</doc>
-          <type name="guint" c:type="guint"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_font_flags"
-              c:identifier="clutter_set_font_flags"
-              version="1.0">
-      <doc xml:whitespace="preserve">Sets the font quality options for subsequent text rendering
-operations.
-Using mipmapped textures will improve the quality for scaled down
-text but will use more texture memory.
-Enabling hinting improves text quality for static text but may
-introduce some artifacts if the text is animated.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="flags" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The new flags</doc>
-          <type name="FontFlags" c:type="ClutterFontFlags"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_motion_events_enabled"
-              c:identifier="clutter_set_motion_events_enabled"
-              version="0.6">
-      <doc xml:whitespace="preserve">Sets whether per-actor motion events should be enabled or not (the
-default is to enable them).
-If @enable is %FALSE the following events will not work:
-&lt;itemizedlist&gt;
-&lt;listitem&gt;&lt;para&gt;ClutterActor::motion-event, unless on the
-#ClutterStage&lt;/para&gt;&lt;/listitem&gt;
-&lt;listitem&gt;&lt;para&gt;ClutterActor::enter-event&lt;/para&gt;&lt;/listitem&gt;
-&lt;listitem&gt;&lt;para&gt;ClutterActor::leave-event&lt;/para&gt;&lt;/listitem&gt;
-&lt;/itemizedlist&gt;</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="enable" transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE to enable per-actor motion events</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </parameter>
-      </parameters>
-    </function>
-    <constant name="seveneighths" value="2758">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="sevensubscript" value="16785543">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="sevensuperior" value="16785527">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <function name="shader_error_quark"
-              c:identifier="clutter_shader_error_quark">
-      <return-value transfer-ownership="none">
-        <type name="GLib.Quark" c:type="GQuark"/>
-      </return-value>
-    </function>
-    <function name="shader_float_get_type"
-              c:identifier="clutter_shader_float_get_type">
-      <return-value transfer-ownership="none">
-        <type name="GType" c:type="GType"/>
-      </return-value>
-    </function>
-    <function name="shader_int_get_type"
-              c:identifier="clutter_shader_int_get_type">
-      <return-value transfer-ownership="none">
-        <type name="GType" c:type="GType"/>
-      </return-value>
-    </function>
-    <function name="shader_matrix_get_type"
-              c:identifier="clutter_shader_matrix_get_type">
-      <return-value transfer-ownership="none">
-        <type name="GType" c:type="GType"/>
-      </return-value>
-    </function>
-    <constant name="signaturemark" value="2762">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="signifblank" value="2732">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="similarequal" value="2249">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="singlelowquotemark" value="2813">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="sixsubscript" value="16785542">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="sixsuperior" value="16785526">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="slash" value="47">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="soliddiamond" value="2528">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="space" value="32">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="squareroot" value="16785946">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ssharp" value="223">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="sterling" value="163">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="stricteq" value="16786019">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="t" value="116">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="tabovedot" value="16785003">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="tcaron" value="443">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="tcedilla" value="510">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="telephone" value="2809">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="telephonerecorder" value="2810">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <function name="texture_error_quark"
-              c:identifier="clutter_texture_error_quark">
-      <return-value transfer-ownership="none">
-        <type name="GLib.Quark" c:type="GQuark"/>
-      </return-value>
-    </function>
-    <constant name="therefore" value="2240">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="thinspace" value="2727">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="thorn" value="254">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <function name="threads_add_frame_source"
-              c:identifier="clutter_threads_add_frame_source"
-              shadowed-by="threads_add_frame_source_full"
-              version="0.8"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Simple wrapper around clutter_threads_add_frame_source_full().</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the ID (greater than 0) of the event source.</doc>
-        <type name="guint" c:type="guint"/>
-      </return-value>
-      <parameters>
-        <parameter name="fps" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of times per second to call the function</doc>
-          <type name="guint" c:type="guint"/>
-        </parameter>
-        <parameter name="func" transfer-ownership="none" closure="2">
-          <doc xml:whitespace="preserve">function to call</doc>
-          <type name="GLib.SourceFunc" c:type="GSourceFunc"/>
-        </parameter>
-        <parameter name="data" transfer-ownership="none">
-          <doc xml:whitespace="preserve">data to pass to the function</doc>
-          <type name="gpointer" c:type="gpointer"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="threads_add_frame_source_full"
-              c:identifier="clutter_threads_add_frame_source_full"
-              shadows="threads_add_frame_source"
-              version="0.8">
-      <doc xml:whitespace="preserve">Sets a function to be called at regular intervals holding the Clutter
-threads lock, with the given priority. The function is called repeatedly
-until it returns %FALSE, at which point the timeout is automatically
-removed and the function will not be called again. The @notify function
-is called when the timeout is removed.
-This function is similar to clutter_threads_add_timeout_full()
-except that it will try to compensate for delays. For example, if
-will be called again half the interval time after it finished. In
-contrast clutter_threads_add_timeout_full() would not fire until a
-full interval after the function completes so the delay between
-calls would be @interval * 1.5. This function does not however try
-to invoke the function multiple times to catch up missing frames if
-See also clutter_threads_add_idle_full().</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the ID (greater than 0) of the event source.</doc>
-        <type name="guint" c:type="guint"/>
-      </return-value>
-      <parameters>
-        <parameter name="priority" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the priority of the frame source. Typically this will be in the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH.</doc>
-          <type name="gint" c:type="gint"/>
-        </parameter>
-        <parameter name="fps" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of times per second to call the function</doc>
-          <type name="guint" c:type="guint"/>
-        </parameter>
-        <parameter name="func"
-                   transfer-ownership="none"
-                   scope="notified"
-                   closure="3"
-                   destroy="4">
-          <doc xml:whitespace="preserve">function to call</doc>
-          <type name="GLib.SourceFunc" c:type="GSourceFunc"/>
-        </parameter>
-        <parameter name="data" transfer-ownership="none">
-          <doc xml:whitespace="preserve">data to pass to the function</doc>
-          <type name="gpointer" c:type="gpointer"/>
-        </parameter>
-        <parameter name="notify" transfer-ownership="none" scope="async">
-          <doc xml:whitespace="preserve">function to call when the timeout source is removed</doc>
-          <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="threads_add_idle"
-              c:identifier="clutter_threads_add_idle"
-              shadowed-by="threads_add_idle_full"
-              version="0.4"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Simple wrapper around clutter_threads_add_idle_full() using the
-default priority.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the ID (greater than 0) of the event source.</doc>
-        <type name="guint" c:type="guint"/>
-      </return-value>
-      <parameters>
-        <parameter name="func" transfer-ownership="none" closure="1">
-          <doc xml:whitespace="preserve">function to call</doc>
-          <type name="GLib.SourceFunc" c:type="GSourceFunc"/>
-        </parameter>
-        <parameter name="data" transfer-ownership="none">
-          <doc xml:whitespace="preserve">data to pass to the function</doc>
-          <type name="gpointer" c:type="gpointer"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="threads_add_idle_full"
-              c:identifier="clutter_threads_add_idle_full"
-              shadows="threads_add_idle"
-              version="0.4">
-      <doc xml:whitespace="preserve">Adds a function to be called whenever there are no higher priority
-events pending. If the function returns %FALSE it is automatically
-removed from the list of event sources and will not be called again.
-This function can be considered a thread-safe variant of g_idle_add_full():
-it will call @function while holding the Clutter lock. It is logically
-equivalent to the following implementation:
-|[
-static gboolean
-idle_safe_callback (gpointer data)
-{
-SafeClosure *closure = data;
-gboolean res = FALSE;
-/&amp;ast; mark the critical section &amp;ast;/
-clutter_threads_enter();
-/&amp;ast; the callback does not need to acquire the Clutter
-&amp;ast; lock itself, as it is held by the this proxy handler
-&amp;ast;/
-res = closure-&gt;callback (closure-&gt;data);
-clutter_threads_leave();
-return res;
-}
-static gulong
-add_safe_idle (GSourceFunc callback,
-gpointer    data)
-{
-SafeClosure *closure = g_new0 (SafeClosure, 1);
-closure-&amp;gt;callback = callback;
-closure-&amp;gt;data = data;
-return g_add_idle_full (G_PRIORITY_DEFAULT_IDLE,
-idle_safe_callback,
-closure,
-g_free)
-}
-]|
-This function should be used by threaded applications to make sure
-that @func is emitted under the Clutter threads lock and invoked
-from the same thread that started the Clutter main loop. For instance,
-it can be used to update the UI using the results from a worker
-thread:
-|[
-static gboolean
-update_ui (gpointer data)
-{
-SomeClosure *closure = data;
-/&amp;ast; it is safe to call Clutter API from this function because
-&amp;ast; it is invoked from the same thread that started the main
-&amp;ast; loop and under the Clutter thread lock
-&amp;ast;/
-clutter_label_set_text (CLUTTER_LABEL (closure-&amp;gt;label),
-closure-&amp;gt;text);
-g_object_unref (closure-&amp;gt;label);
-g_free (closure);
-return FALSE;
-}
-/&amp;ast; within another thread &amp;ast;/
-closure = g_new0 (SomeClosure, 1);
-/&amp;ast; always take a reference on GObject instances &amp;ast;/
-closure-&amp;gt;label = g_object_ref (my_application-&amp;gt;label);
-closure-&amp;gt;text = g_strdup (processed_text_to_update_the_label);
-clutter_threads_add_idle_full (G_PRIORITY_HIGH_IDLE,
-update_ui,
-closure,
-NULL);
-]|</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the ID (greater than 0) of the event source.</doc>
-        <type name="guint" c:type="guint"/>
-      </return-value>
-      <parameters>
-        <parameter name="priority" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the priority of the timeout source. Typically this will be in the range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE</doc>
-          <type name="gint" c:type="gint"/>
-        </parameter>
-        <parameter name="func"
-                   transfer-ownership="none"
-                   scope="notified"
-                   closure="2"
-                   destroy="3">
-          <doc xml:whitespace="preserve">function to call</doc>
-          <type name="GLib.SourceFunc" c:type="GSourceFunc"/>
-        </parameter>
-        <parameter name="data" transfer-ownership="none">
-          <doc xml:whitespace="preserve">data to pass to the function</doc>
-          <type name="gpointer" c:type="gpointer"/>
-        </parameter>
-        <parameter name="notify" transfer-ownership="none" scope="async">
-          <doc xml:whitespace="preserve">functio to call when the idle source is removed</doc>
-          <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="threads_add_repaint_func"
-              c:identifier="clutter_threads_add_repaint_func"
-              version="1.0">
-      <doc xml:whitespace="preserve">Adds a function to be called whenever Clutter is repainting a Stage.
-If the function returns %FALSE it is automatically removed from the
-list of repaint functions and will not be called again.
-This function is guaranteed to be called from within the same thread
-that called clutter_main(), and while the Clutter lock is being held.
-A repaint function is useful to ensure that an update of the scenegraph
-is performed before the scenegraph is repainted; for instance, uploading
-a frame from a video into a #ClutterTexture.
-When the repaint function is removed (either because it returned %FALSE
-or because clutter_threads_remove_repaint_func() has been called) the
-can use the returned integer to remove the repaint function by
-calling clutter_threads_remove_repaint_func().</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the ID (greater than 0) of the repaint function. You</doc>
-        <type name="guint" c:type="guint"/>
-      </return-value>
-      <parameters>
-        <parameter name="func"
-                   transfer-ownership="none"
-                   scope="notified"
-                   closure="1"
-                   destroy="2">
-          <doc xml:whitespace="preserve">the function to be called within the paint cycle</doc>
-          <type name="GLib.SourceFunc" c:type="GSourceFunc"/>
-        </parameter>
-        <parameter name="data" transfer-ownership="none">
-          <doc xml:whitespace="preserve">data to be passed to the function, or %NULL</doc>
-          <type name="gpointer" c:type="gpointer"/>
-        </parameter>
-        <parameter name="notify" transfer-ownership="none" scope="async">
-          <doc xml:whitespace="preserve">function to be called when removing the repaint function, or %NULL</doc>
-          <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="threads_add_timeout"
-              c:identifier="clutter_threads_add_timeout"
-              shadowed-by="threads_add_timeout_full"
-              version="0.4"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Simple wrapper around clutter_threads_add_timeout_full().</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the ID (greater than 0) of the event source.</doc>
-        <type name="guint" c:type="guint"/>
-      </return-value>
-      <parameters>
-        <parameter name="interval" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the time between calls to the function, in milliseconds</doc>
-          <type name="guint" c:type="guint"/>
-        </parameter>
-        <parameter name="func" transfer-ownership="none" closure="2">
-          <doc xml:whitespace="preserve">function to call</doc>
-          <type name="GLib.SourceFunc" c:type="GSourceFunc"/>
-        </parameter>
-        <parameter name="data" transfer-ownership="none">
-          <doc xml:whitespace="preserve">data to pass to the function</doc>
-          <type name="gpointer" c:type="gpointer"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="threads_add_timeout_full"
-              c:identifier="clutter_threads_add_timeout_full"
-              shadows="threads_add_timeout"
-              version="0.4">
-      <doc xml:whitespace="preserve">Sets a function to be called at regular intervals holding the Clutter
-threads lock, with the given priority. The function is called repeatedly
-until it returns %FALSE, at which point the timeout is automatically
-removed and the function will not be called again. The @notify function
-is called when the timeout is removed.
-The first call to the function will be at the end of the first @interval.
-It is important to note that, due to how the Clutter main loop is
-implemented, the timing will not be accurate and it will not try to
-"keep up" with the interval. A more reliable source is available
-using clutter_threads_add_frame_source_full(), which is also internally
-used by #ClutterTimeline.
-See also clutter_threads_add_idle_full().</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the ID (greater than 0) of the event source.</doc>
-        <type name="guint" c:type="guint"/>
-      </return-value>
-      <parameters>
-        <parameter name="priority" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the priority of the timeout source. Typically this will be in the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH.</doc>
-          <type name="gint" c:type="gint"/>
-        </parameter>
-        <parameter name="interval" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the time between calls to the function, in milliseconds</doc>
-          <type name="guint" c:type="guint"/>
-        </parameter>
-        <parameter name="func"
-                   transfer-ownership="none"
-                   scope="notified"
-                   closure="3"
-                   destroy="4">
-          <doc xml:whitespace="preserve">function to call</doc>
-          <type name="GLib.SourceFunc" c:type="GSourceFunc"/>
-        </parameter>
-        <parameter name="data" transfer-ownership="none">
-          <doc xml:whitespace="preserve">data to pass to the function</doc>
-          <type name="gpointer" c:type="gpointer"/>
-        </parameter>
-        <parameter name="notify" transfer-ownership="none" scope="async">
-          <doc xml:whitespace="preserve">function to call when the timeout source is removed</doc>
-          <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="threads_enter"
-              c:identifier="clutter_threads_enter"
-              version="0.4">
-      <doc xml:whitespace="preserve">Locks the Clutter thread lock.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="threads_init"
-              c:identifier="clutter_threads_init"
-              version="0.4">
-      <doc xml:whitespace="preserve">Initialises the Clutter threading mechanism, so that Clutter API can be
-called by multiple threads, using clutter_threads_enter() and
-clutter_threads_leave() to mark the critical sections.
-You must call g_thread_init() before this function.
-This function must be called before clutter_init().
-It is safe to call this function multiple times.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="threads_leave"
-              c:identifier="clutter_threads_leave"
-              version="0.4">
-      <doc xml:whitespace="preserve">Unlocks the Clutter thread lock.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="threads_remove_repaint_func"
-              c:identifier="clutter_threads_remove_repaint_func"
-              version="1.0">
-      <doc xml:whitespace="preserve">Removes the repaint function with @handle_id as its id</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle_id" transfer-ownership="none">
-          <doc xml:whitespace="preserve">an unsigned integer greater than zero</doc>
-          <type name="guint" c:type="guint"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="threads_set_lock_functions"
-              c:identifier="clutter_threads_set_lock_functions"
-              version="0.4"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Allows the application to replace the standard method that
-Clutter uses to protect its data structures. Normally, Clutter
-creates a single #GMutex that is locked by clutter_threads_enter(),
-and released by clutter_threads_leave(); using this function an
-application provides, instead, a function @enter_fn that is
-called by clutter_threads_enter() and a function @leave_fn that is
-called by clutter_threads_leave().
-The functions must provide at least same locking functionality
-as the default implementation, but can also do extra application
-specific processing.
-As an example, consider an application that has its own recursive
-lock that when held, holds the Clutter lock as well. When Clutter
-unlocks the Clutter lock when entering a recursive main loop, the
-application must temporarily release its lock as well.
-Most threaded Clutter apps won't need to use this method.
-This method must be called before clutter_threads_init(), and cannot
-be called multiple times.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="enter_fn" transfer-ownership="none">
-          <doc xml:whitespace="preserve">function called when aquiring the Clutter main lock</doc>
-          <type name="GObject.Callback" c:type="GCallback"/>
-        </parameter>
-        <parameter name="leave_fn" transfer-ownership="none">
-          <doc xml:whitespace="preserve">function called when releasing the Clutter main lock</doc>
-          <type name="GObject.Callback" c:type="GCallback"/>
-        </parameter>
-      </parameters>
-    </function>
-    <constant name="threeeighths" value="2756">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="threefifths" value="2740">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="threequarters" value="190">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="threesubscript" value="16785539">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="threesuperior" value="179">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <function name="timeout_pool_new"
-              c:identifier="clutter_timeout_pool_new"
-              version="0.4"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Creates a new timeout pool source. A timeout pool should be used when
-multiple timeout functions, running at the same priority, are needed and
-the g_timeout_add() API might lead to starvation of the time slice of
-the main loop. A timeout pool allocates a single time slice of the main
-loop and runs every timeout function inside it. The timeout pool is
-always sorted, so that the extraction of the next timeout function is
-a constant time operation.
-is owned by the GLib default context and will be automatically
-destroyed when the context is destroyed. It is possible to force
-the destruction of the timeout pool using g_source_destroy()</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">the newly created #ClutterTimeoutPool. The created pool</doc>
-        <type name="TimeoutPool" c:type="ClutterTimeoutPool*"/>
-      </return-value>
-      <parameters>
-        <parameter name="priority" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the priority of the timeout pool. Typically this will be #G_PRIORITY_DEFAULT</doc>
-          <type name="gint" c:type="gint"/>
-        </parameter>
-      </parameters>
-    </function>
-    <constant name="tintegral" value="16785965">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="topintegral" value="2212">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="topleftparens" value="2219">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="topleftradical" value="2210">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="topleftsqbracket" value="2215">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="topleftsummation" value="2225">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="toprightparens" value="2221">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="toprightsqbracket" value="2217">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="toprightsummation" value="2229">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="topt" value="2551">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="topvertsummationconnector" value="2227">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="trademark" value="2761">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="trademarkincircle" value="2763">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="tslash" value="956">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="twofifths" value="2739">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="twosubscript" value="16785538">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="twosuperior" value="178">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="twothirds" value="2737">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="u" value="117">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="uacute" value="250">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ubelowdot" value="16785125">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ubreve" value="765">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ucircumflex" value="251">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="udiaeresis" value="252">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="udoubleacute" value="507">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ugrave" value="249">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="uhook" value="16785127">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="uhorn" value="16777648">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="uhornacute" value="16785129">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="uhornbelowdot" value="16785137">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="uhorngrave" value="16785131">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="uhornhook" value="16785133">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="uhorntilde" value="16785135">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="umacron" value="1022">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="underbar" value="3014">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="underscore" value="95">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <function name="ungrab_keyboard"
-              c:identifier="clutter_ungrab_keyboard"
-              version="0.6">
-      <doc xml:whitespace="preserve">Removes an existing grab of the keyboard.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="ungrab_pointer"
-              c:identifier="clutter_ungrab_pointer"
-              version="0.6">
-      <doc xml:whitespace="preserve">Removes an existing grab of the pointer.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="ungrab_pointer_for_device"
-              c:identifier="clutter_ungrab_pointer_for_device"
-              version="0.8">
-      <doc xml:whitespace="preserve">Removes an existing grab of the pointer events for device @id.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="id" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a device id</doc>
-          <type name="gint" c:type="gint"/>
-        </parameter>
-      </parameters>
-    </function>
-    <constant name="union" value="2269">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="uogonek" value="1017">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="uparrow" value="2300">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="upcaret" value="2985">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="upleftcorner" value="2540">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="uprightcorner" value="2539">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="upshoe" value="3011">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="upstile" value="3027">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="uptack" value="3022">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="uring" value="505">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <function name="util_next_p2"
-              c:identifier="clutter_util_next_p2"
-              deprecated="1.2">
-      <doc xml:whitespace="preserve">Calculates the nearest power of two, greater than or equal to @a.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">The nearest power of two, greater or equal to @a.</doc>
-        <type name="gint" c:type="gint"/>
-      </return-value>
-      <parameters>
-        <parameter name="a" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Value to get the next power</doc>
-          <type name="gint" c:type="gint"/>
-        </parameter>
-      </parameters>
-    </function>
-    <constant name="utilde" value="1021">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="v" value="118">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <function name="value_get_color"
-              c:identifier="clutter_value_get_color"
-              version="0.8.4">
-      <doc xml:whitespace="preserve">Gets the #ClutterColor contained in @value.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the color inside the passed #GValue</doc>
-        <type name="Color" c:type="ClutterColor*"/>
-      </return-value>
-      <parameters>
-        <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue initialized to #CLUTTER_TYPE_COLOR</doc>
-          <type name="GObject.Value" c:type="GValue*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="value_get_fixed"
-              c:identifier="clutter_value_get_fixed"
-              version="0.8">
-      <doc xml:whitespace="preserve">Gets the fixed point value stored inside @value.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the value inside the passed #GValue</doc>
-        <type name="Cogl.Fixed" c:type="CoglFixed"/>
-      </return-value>
-      <parameters>
-        <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue initialized to %COGL_TYPE_FIXED</doc>
-          <type name="GObject.Value" c:type="GValue*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="value_get_shader_float"
-              c:identifier="clutter_value_get_shader_float"
-              version="0.8">
-      <doc xml:whitespace="preserve">Retrieves the list of floating point values stored inside
-the passed #GValue. @value must have been initialized with
-%CLUTTER_TYPE_SHADER_FLOAT.
-The returned value is owned by the #GValue and should never
-be modified or freed.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the pointer to a list of floating point values.</doc>
-        <type name="gfloat" c:type="gfloat*"/>
-      </return-value>
-      <parameters>
-        <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue</doc>
-          <type name="GObject.Value" c:type="GValue*"/>
-        </parameter>
-        <parameter name="length" transfer-ownership="none">
-          <doc xml:whitespace="preserve">return location for the number of returned floating point values, or %NULL</doc>
-          <type name="gulong" c:type="gsize*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="value_get_shader_int"
-              c:identifier="clutter_value_get_shader_int"
-              version="0.8">
-      <doc xml:whitespace="preserve">Retrieves the list of integer values stored inside the passed
-#GValue. @value must have been initialized with
-%CLUTTER_TYPE_SHADER_INT.
-The returned value is owned by the #GValue and should never
-be modified or freed.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the pointer to a list of integer values.</doc>
-        <type name="gint" c:type="gint*"/>
-      </return-value>
-      <parameters>
-        <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue</doc>
-          <type name="GObject.Value" c:type="GValue*"/>
-        </parameter>
-        <parameter name="length" transfer-ownership="none">
-          <doc xml:whitespace="preserve">return location for the number of returned integer values, or %NULL</doc>
-          <type name="gulong" c:type="gsize*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="value_get_shader_matrix"
-              c:identifier="clutter_value_get_shader_matrix"
-              version="0.8">
-      <doc xml:whitespace="preserve">Retrieves a matrix of floating point values stored inside
-the passed #GValue. @value must have been initialized with
-%CLUTTER_TYPE_SHADER_MATRIX.
-of floating point values. The returned value is owned by the #GValue and
-should never be modified or freed.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the pointer to a matrix</doc>
-        <array length="1" c:type="gfloat*">
-          <type name="gfloat"/>
-        </array>
-      </return-value>
-      <parameters>
-        <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue</doc>
-          <type name="GObject.Value" c:type="GValue*"/>
-        </parameter>
-        <parameter name="length"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">return location for the number of returned floating point values, or %NULL</doc>
-          <type name="gulong" c:type="gsize*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="value_get_units"
-              c:identifier="clutter_value_get_units"
-              version="0.8">
-      <doc xml:whitespace="preserve">Gets the #ClutterUnit&lt;!-- --&gt;s contained in @value.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the units inside the passed #GValue</doc>
-        <type name="Units" c:type="ClutterUnits*"/>
-      </return-value>
-      <parameters>
-        <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue initialized to #CLUTTER_TYPE_UNIT</doc>
-          <type name="GObject.Value" c:type="GValue*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="value_set_color"
-              c:identifier="clutter_value_set_color"
-              version="0.8.4">
-      <doc xml:whitespace="preserve">Sets @value to @color.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue initialized to #CLUTTER_TYPE_COLOR</doc>
-          <type name="GObject.Value" c:type="GValue*"/>
-        </parameter>
-        <parameter name="color" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the color to set</doc>
-          <type name="Color" c:type="ClutterColor*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="value_set_fixed"
-              c:identifier="clutter_value_set_fixed"
-              version="0.8">
-      <doc xml:whitespace="preserve">Sets @value to @fixed_.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue initialized to %COGL_TYPE_FIXED</doc>
-          <type name="GObject.Value" c:type="GValue*"/>
-        </parameter>
-        <parameter name="fixed_" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the fixed point value to set</doc>
-          <type name="Cogl.Fixed" c:type="CoglFixed"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="value_set_shader_float"
-              c:identifier="clutter_value_set_shader_float"
-              version="0.8">
-      <doc xml:whitespace="preserve">Sets @floats as the contents of @value. The passed #GValue
-must have been initialized using %CLUTTER_TYPE_SHADER_FLOAT.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue</doc>
-          <type name="GObject.Value" c:type="GValue*"/>
-        </parameter>
-        <parameter name="size" transfer-ownership="none">
-          <doc xml:whitespace="preserve">number of floating point values in @floats</doc>
-          <type name="gint" c:type="gint"/>
-        </parameter>
-        <parameter name="floats" transfer-ownership="none">
-          <doc xml:whitespace="preserve">an array of floating point values</doc>
-          <type name="gfloat" c:type="gfloat*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="value_set_shader_int"
-              c:identifier="clutter_value_set_shader_int"
-              version="0.8">
-      <doc xml:whitespace="preserve">Sets @ints as the contents of @value. The passed #GValue
-must have been initialized using %CLUTTER_TYPE_SHADER_INT.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue</doc>
-          <type name="GObject.Value" c:type="GValue*"/>
-        </parameter>
-        <parameter name="size" transfer-ownership="none">
-          <doc xml:whitespace="preserve">number of integer values in @ints</doc>
-          <type name="gint" c:type="gint"/>
-        </parameter>
-        <parameter name="ints" transfer-ownership="none">
-          <doc xml:whitespace="preserve">an array of integer values</doc>
-          <type name="gint" c:type="gint*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="value_set_shader_matrix"
-              c:identifier="clutter_value_set_shader_matrix"
-              version="0.8">
-      <doc xml:whitespace="preserve">Sets @matrix as the contents of @value. The passed #GValue
-must have been initialized using %CLUTTER_TYPE_SHADER_MATRIX.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue</doc>
-          <type name="GObject.Value" c:type="GValue*"/>
-        </parameter>
-        <parameter name="size" transfer-ownership="none">
-          <doc xml:whitespace="preserve">number of floating point values in @floats</doc>
-          <type name="gint" c:type="gint"/>
-        </parameter>
-        <parameter name="matrix" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a matrix of floating point values</doc>
-          <type name="gfloat" c:type="gfloat*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="value_set_units"
-              c:identifier="clutter_value_set_units"
-              version="0.8">
-      <doc xml:whitespace="preserve">Sets @value to @units</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GValue initialized to #CLUTTER_TYPE_UNIT</doc>
-          <type name="GObject.Value" c:type="GValue*"/>
-        </parameter>
-        <parameter name="units" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the units to set</doc>
-          <type name="Units" c:type="ClutterUnits*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <constant name="variation" value="2241">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="vertbar" value="2552">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="vertconnector" value="2214">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="voicedsound" value="1246">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="vt" value="2537">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="w" value="119">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="wacute" value="16785027">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="wcircumflex" value="16777589">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="wdiaeresis" value="16785029">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="wgrave" value="16785025">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="x" value="120">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="xabovedot" value="16785035">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="y" value="121">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="yacute" value="253">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ybelowdot" value="16785141">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ycircumflex" value="16777591">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ydiaeresis" value="255">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="yen" value="165">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ygrave" value="16785139">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="yhook" value="16785143">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="ytilde" value="16785145">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="z" value="122">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="zabovedot" value="447">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="zacute" value="444">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="zcaron" value="446">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="zerosubscript" value="16785536">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="zerosuperior" value="16785520">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="zstroke" value="16777654">
-      <type name="gint" c:type="gint"/>
-    </constant>
-  </namespace>
-</repository>
diff --git a/extra/clutter/cally/cally.factor b/extra/clutter/cally/cally.factor
new file mode 100644 (file)
index 0000000..b4b9182
--- /dev/null
@@ -0,0 +1,5 @@
+! Copyright (C) 2011 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: clutter.cally.ffi ;
+IN: clutter.cally
+
diff --git a/extra/clutter/cally/ffi/ffi.factor b/extra/clutter/cally/ffi/ffi.factor
new file mode 100644 (file)
index 0000000..59c92bd
--- /dev/null
@@ -0,0 +1,23 @@
+! Copyright (C) 2011 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: alien alien.libraries alien.syntax combinators
+gobject-introspection kernel system vocabs.loader ;
+IN: clutter.cally.ffi
+
+<<
+"atk.ffi" require
+"clutter.ffi" require
+>>
+
+LIBRARY: clutter.cally
+
+<<
+"clutter.cally" {
+    { [ os winnt? ] [ drop ] }
+    { [ os macosx? ] [ drop ] }
+    { [ os unix? ] [ "libclutter-glx-1.0.so" cdecl add-library ] }
+} cond
+>>
+
+GIR: Cally-1.0.gir
+
diff --git a/extra/clutter/cogl/Cogl-1.0.gir b/extra/clutter/cogl/Cogl-1.0.gir
deleted file mode 100644 (file)
index 95d199a..0000000
+++ /dev/null
@@ -1,7107 +0,0 @@
-<?xml version="1.0"?>
-<!-- This file was automatically generated from C sources - DO NOT EDIT!
-To affect the contents of this file, edit the original C definitions,
-and/or use gtk-doc annotations.  -->
-<repository version="1.2"
-            xmlns="http://www.gtk.org/introspection/core/1.0"
-            xmlns:c="http://www.gtk.org/introspection/c/1.0"
-            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
-  <include name="GL" version="1.0"/>
-  <include name="GLib" version="2.0"/>
-  <include name="GObject" version="2.0"/>
-  <c:include name="cogl/cogl.h"/>
-  <namespace name="Cogl"
-             version="1.0"
-             shared-library="libclutter-glx-1.0.so.0"
-             c:identifier-prefixes="Cogl"
-             c:symbol-prefixes="cogl">
-    <alias name="Angle" c:type="CoglAngle">
-      <doc xml:whitespace="preserve">Integer representation of an angle such that 1024 corresponds to
-full circle (i.e., 2 * pi).</doc>
-      <type name="gint32" c:type="gint32"/>
-    </alias>
-    <alias name="Fixed" c:type="CoglFixed">
-      <doc xml:whitespace="preserve">Fixed point number using a (16.16) notation.</doc>
-      <type name="gint32" c:type="gint32"/>
-    </alias>
-    <alias name="Handle" c:type="CoglHandle">
-      <doc xml:whitespace="preserve">Type used for storing references to cogl objects, the CoglHandle is
-a fully opaque type without any public data members.</doc>
-      <type name="gpointer" c:type="gpointer"/>
-    </alias>
-    <constant name="AFIRST_BIT" value="64">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="A_BIT" value="16">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <enumeration name="AttributeType"
-                 version="1.0"
-                 glib:type-name="CoglAttributeType"
-                 glib:get-type="cogl_attribute_type_get_type"
-                 c:type="CoglAttributeType">
-      <doc xml:whitespace="preserve">Data types for the components of cogl_vertex_buffer_add()</doc>
-      <member name="byte"
-              value="5120"
-              c:identifier="COGL_ATTRIBUTE_TYPE_BYTE"
-              glib:nick="byte"/>
-      <member name="unsigned_byte"
-              value="5121"
-              c:identifier="COGL_ATTRIBUTE_TYPE_UNSIGNED_BYTE"
-              glib:nick="unsigned-byte"/>
-      <member name="short"
-              value="5122"
-              c:identifier="COGL_ATTRIBUTE_TYPE_SHORT"
-              glib:nick="short"/>
-      <member name="unsigned_short"
-              value="5123"
-              c:identifier="COGL_ATTRIBUTE_TYPE_UNSIGNED_SHORT"
-              glib:nick="unsigned-short"/>
-      <member name="float"
-              value="5126"
-              c:identifier="COGL_ATTRIBUTE_TYPE_FLOAT"
-              glib:nick="float"/>
-    </enumeration>
-    <constant name="BGR_BIT" value="32">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <record name="Bitmap" c:type="CoglBitmap" disguised="1">
-    </record>
-    <enumeration name="BitmapError"
-                 version="1.4"
-                 glib:type-name="CoglBitmapError"
-                 glib:get-type="cogl_bitmap_error_get_type"
-                 c:type="CoglBitmapError"
-                 glib:error-quark="cogl_bitmap_error_quark">
-      <doc xml:whitespace="preserve">Error codes that can be thrown when performing bitmap
-operations. Note that gdk_pixbuf_new_from_file() can also throw
-errors directly from the underlying image loading library. For
-example, if GdkPixbuf is used then errors #GdkPixbufError&lt;!-- --&gt;s
-will be used directly.</doc>
-      <member name="failed"
-              value="0"
-              c:identifier="COGL_BITMAP_ERROR_FAILED"
-              glib:nick="failed"/>
-      <member name="unknown_type"
-              value="1"
-              c:identifier="COGL_BITMAP_ERROR_UNKNOWN_TYPE"
-              glib:nick="unknown-type"/>
-      <member name="corrupt_image"
-              value="2"
-              c:identifier="COGL_BITMAP_ERROR_CORRUPT_IMAGE"
-              glib:nick="corrupt-image"/>
-    </enumeration>
-    <enumeration name="BlendStringError"
-                 version="1.0"
-                 glib:type-name="CoglBlendStringError"
-                 glib:get-type="cogl_blend_string_error_get_type"
-                 c:type="CoglBlendStringError"
-                 glib:error-quark="cogl_blend_string_error_quark">
-      <doc xml:whitespace="preserve">Error enumeration for the blend strings parser</doc>
-      <member name="parse_error"
-              value="0"
-              c:identifier="COGL_BLEND_STRING_ERROR_PARSE_ERROR"
-              glib:nick="parse-error"/>
-      <member name="argument_parse_error"
-              value="1"
-              c:identifier="COGL_BLEND_STRING_ERROR_ARGUMENT_PARSE_ERROR"
-              glib:nick="argument-parse-error"/>
-      <member name="invalid_error"
-              value="2"
-              c:identifier="COGL_BLEND_STRING_ERROR_INVALID_ERROR"
-              glib:nick="invalid-error"/>
-      <member name="gpu_unsupported_error"
-              value="3"
-              c:identifier="COGL_BLEND_STRING_ERROR_GPU_UNSUPPORTED_ERROR"
-              glib:nick="gpu-unsupported-error"/>
-    </enumeration>
-    <record name="Buffer" c:type="CoglBuffer" disguised="1">
-      <method name="get_size_EXP" c:identifier="cogl_buffer_get_size_EXP">
-        <return-value transfer-ownership="none">
-          <type name="guint" c:type="unsigned int"/>
-        </return-value>
-      </method>
-      <method name="get_update_hint_EXP"
-              c:identifier="cogl_buffer_get_update_hint_EXP">
-        <return-value transfer-ownership="none">
-          <type name="BufferUpdateHint" c:type="CoglBufferUpdateHint"/>
-        </return-value>
-      </method>
-      <method name="map_EXP" c:identifier="cogl_buffer_map_EXP">
-        <return-value transfer-ownership="none">
-          <type name="guint8" c:type="guint8*"/>
-        </return-value>
-        <parameters>
-          <parameter name="access" transfer-ownership="none">
-            <type name="BufferAccess" c:type="CoglBufferAccess"/>
-          </parameter>
-          <parameter name="hints" transfer-ownership="none">
-            <type name="BufferMapHint" c:type="CoglBufferMapHint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_data_EXP" c:identifier="cogl_buffer_set_data_EXP">
-        <return-value transfer-ownership="none">
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="offset" transfer-ownership="none">
-            <type name="gulong" c:type="gsize"/>
-          </parameter>
-          <parameter name="data" transfer-ownership="none">
-            <type name="guint8" c:type="guint8*"/>
-          </parameter>
-          <parameter name="size" transfer-ownership="none">
-            <type name="gulong" c:type="gsize"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_update_hint_EXP"
-              c:identifier="cogl_buffer_set_update_hint_EXP">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="hint" transfer-ownership="none">
-            <type name="BufferUpdateHint" c:type="CoglBufferUpdateHint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="unmap_EXP" c:identifier="cogl_buffer_unmap_EXP">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-    </record>
-    <bitfield name="BufferAccess"
-              version="1.2"
-              glib:type-name="CoglBufferAccess"
-              glib:get-type="cogl_buffer_access_get_type"
-              c:type="CoglBufferAccess">
-      <doc xml:whitespace="preserve">The access hints for cogl_buffer_set_update_hint()</doc>
-      <member name="read"
-              value="1"
-              c:identifier="COGL_BUFFER_ACCESS_READ"
-              glib:nick="read"/>
-      <member name="write"
-              value="2"
-              c:identifier="COGL_BUFFER_ACCESS_WRITE"
-              glib:nick="write"/>
-      <member name="read_write"
-              value="3"
-              c:identifier="COGL_BUFFER_ACCESS_READ_WRITE"
-              glib:nick="read-write"/>
-    </bitfield>
-    <bitfield name="BufferBit"
-              version="1.0"
-              glib:type-name="CoglBufferBit"
-              glib:get-type="cogl_buffer_bit_get_type"
-              c:type="CoglBufferBit">
-      <doc xml:whitespace="preserve">Types of auxiliary buffers</doc>
-      <member name="color"
-              value="1"
-              c:identifier="COGL_BUFFER_BIT_COLOR"
-              glib:nick="color"/>
-      <member name="depth"
-              value="2"
-              c:identifier="COGL_BUFFER_BIT_DEPTH"
-              glib:nick="depth"/>
-      <member name="stencil"
-              value="4"
-              c:identifier="COGL_BUFFER_BIT_STENCIL"
-              glib:nick="stencil"/>
-    </bitfield>
-    <bitfield name="BufferMapHint"
-              version="1.4"
-              glib:type-name="CoglBufferMapHint"
-              glib:get-type="cogl_buffer_map_hint_get_type"
-              c:type="CoglBufferMapHint">
-      <doc xml:whitespace="preserve">all the buffer's contents.
-Hints to Cogl about how you are planning to modify the data once it
-is mapped.</doc>
-      <member name="discard"
-              value="1"
-              c:identifier="COGL_BUFFER_MAP_HINT_DISCARD"
-              glib:nick="discard"/>
-    </bitfield>
-    <bitfield name="BufferTarget"
-              version="0.8"
-              glib:type-name="CoglBufferTarget"
-              glib:get-type="cogl_buffer_target_get_type"
-              c:type="CoglBufferTarget">
-      <doc xml:whitespace="preserve">Target flags for FBOs.</doc>
-      <member name="window_buffer"
-              value="2"
-              c:identifier="COGL_WINDOW_BUFFER"
-              glib:nick="window-buffer"/>
-      <member name="offscreen_buffer"
-              value="4"
-              c:identifier="COGL_OFFSCREEN_BUFFER"
-              glib:nick="offscreen-buffer"/>
-    </bitfield>
-    <enumeration name="BufferUpdateHint"
-                 version="1.2"
-                 glib:type-name="CoglBufferUpdateHint"
-                 glib:get-type="cogl_buffer_update_hint_get_type"
-                 c:type="CoglBufferUpdateHint">
-      <doc xml:whitespace="preserve">The update hint on a buffer allows the user to give some detail on how often
-the buffer data is going to be updated.</doc>
-      <member name="static"
-              value="0"
-              c:identifier="COGL_BUFFER_UPDATE_HINT_STATIC"
-              glib:nick="static"/>
-      <member name="dynamic"
-              value="1"
-              c:identifier="COGL_BUFFER_UPDATE_HINT_DYNAMIC"
-              glib:nick="dynamic"/>
-      <member name="stream"
-              value="2"
-              c:identifier="COGL_BUFFER_UPDATE_HINT_STREAM"
-              glib:nick="stream"/>
-    </enumeration>
-    <record name="Color" c:type="CoglColor" version="1.0">
-      <doc xml:whitespace="preserve">A structure for holding a color definition. The contents of
-the CoglColor structure are private and should never by accessed
-directly.</doc>
-      <field name="red" writable="1">
-        <type name="guint8" c:type="guint8"/>
-      </field>
-      <field name="green" writable="1">
-        <type name="guint8" c:type="guint8"/>
-      </field>
-      <field name="blue" writable="1">
-        <type name="guint8" c:type="guint8"/>
-      </field>
-      <field name="alpha" writable="1">
-        <type name="guint8" c:type="guint8"/>
-      </field>
-      <field name="padding0" writable="1">
-        <type name="guint32" c:type="guint32"/>
-      </field>
-      <field name="padding1" writable="1">
-        <type name="guint32" c:type="guint32"/>
-      </field>
-      <field name="padding2" writable="1">
-        <type name="guint32" c:type="guint32"/>
-      </field>
-      <method name="copy"
-              c:identifier="cogl_color_copy"
-              version="1.0"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Creates a copy of @color
-to free the allocate resources</doc>
-        <return-value>
-          <doc xml:whitespace="preserve">a newly-allocated #CoglColor. Use cogl_color_free()</doc>
-          <type name="Color" c:type="CoglColor*"/>
-        </return-value>
-      </method>
-      <method name="free" c:identifier="cogl_color_free" version="1.0">
-        <doc xml:whitespace="preserve">Frees the resources allocated by cogl_color_new() and cogl_color_copy()</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="get_alpha"
-              c:identifier="cogl_color_get_alpha"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the alpha channel of @color as a fixed point
-value between 0 and %1.0.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the alpha channel of the passed color</doc>
-          <type name="gfloat" c:type="float"/>
-        </return-value>
-      </method>
-      <method name="get_alpha_byte"
-              c:identifier="cogl_color_get_alpha_byte"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the alpha channel of @color as a byte value
-between 0 and 255</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the alpha channel of the passed color</doc>
-          <type name="guint8" c:type="unsigned char"/>
-        </return-value>
-      </method>
-      <method name="get_alpha_float"
-              c:identifier="cogl_color_get_alpha_float"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the alpha channel of @color as a floating point
-value between 0.0 and 1.0</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the alpha channel of the passed color</doc>
-          <type name="gfloat" c:type="float"/>
-        </return-value>
-      </method>
-      <method name="get_blue" c:identifier="cogl_color_get_blue" version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the blue channel of @color as a fixed point
-value between 0 and %1.0.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the blue channel of the passed color</doc>
-          <type name="gfloat" c:type="float"/>
-        </return-value>
-      </method>
-      <method name="get_blue_byte"
-              c:identifier="cogl_color_get_blue_byte"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the blue channel of @color as a byte value
-between 0 and 255</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the blue channel of the passed color</doc>
-          <type name="guint8" c:type="unsigned char"/>
-        </return-value>
-      </method>
-      <method name="get_blue_float"
-              c:identifier="cogl_color_get_blue_float"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the blue channel of @color as a floating point
-value between 0.0 and 1.0</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the blue channel of the passed color</doc>
-          <type name="gfloat" c:type="float"/>
-        </return-value>
-      </method>
-      <method name="get_green"
-              c:identifier="cogl_color_get_green"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the green channel of @color as a fixed point
-value between 0 and %1.0.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the green channel of the passed color</doc>
-          <type name="gfloat" c:type="float"/>
-        </return-value>
-      </method>
-      <method name="get_green_byte"
-              c:identifier="cogl_color_get_green_byte"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the green channel of @color as a byte value
-between 0 and 255</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the green channel of the passed color</doc>
-          <type name="guint8" c:type="unsigned char"/>
-        </return-value>
-      </method>
-      <method name="get_green_float"
-              c:identifier="cogl_color_get_green_float"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the green channel of @color as a floating point
-value between 0.0 and 1.0</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the green channel of the passed color</doc>
-          <type name="gfloat" c:type="float"/>
-        </return-value>
-      </method>
-      <method name="get_red" c:identifier="cogl_color_get_red" version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the red channel of @color as a fixed point
-value between 0 and %1.0.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the red channel of the passed color</doc>
-          <type name="gfloat" c:type="float"/>
-        </return-value>
-      </method>
-      <method name="get_red_byte"
-              c:identifier="cogl_color_get_red_byte"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the red channel of @color as a byte value
-between 0 and 255</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the red channel of the passed color</doc>
-          <type name="guint8" c:type="unsigned char"/>
-        </return-value>
-      </method>
-      <method name="get_red_float"
-              c:identifier="cogl_color_get_red_float"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the red channel of @color as a floating point
-value between 0.0 and 1.0</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the red channel of the passed color</doc>
-          <type name="gfloat" c:type="float"/>
-        </return-value>
-      </method>
-      <method name="init_from_4f"
-              c:identifier="cogl_color_init_from_4f"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the values of the passed channels into a #CoglColor</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="red" transfer-ownership="none">
-            <doc xml:whitespace="preserve">value of the red channel, between 0 and %1.0</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="green" transfer-ownership="none">
-            <doc xml:whitespace="preserve">value of the green channel, between 0 and %1.0</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="blue" transfer-ownership="none">
-            <doc xml:whitespace="preserve">value of the blue channel, between 0 and %1.0</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="alpha" transfer-ownership="none">
-            <doc xml:whitespace="preserve">value of the alpha channel, between 0 and %1.0</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="init_from_4fv"
-              c:identifier="cogl_color_init_from_4fv"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the values of the passed channels into a #CoglColor</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="color_array" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a pointer to an array of 4 float color components</doc>
-            <type name="gfloat" c:type="float*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="init_from_4ub"
-              c:identifier="cogl_color_init_from_4ub"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the values of the passed channels into a #CoglColor.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="red" transfer-ownership="none">
-            <doc xml:whitespace="preserve">value of the red channel, between 0 and 255</doc>
-            <type name="guint8" c:type="guint8"/>
-          </parameter>
-          <parameter name="green" transfer-ownership="none">
-            <doc xml:whitespace="preserve">value of the green channel, between 0 and 255</doc>
-            <type name="guint8" c:type="guint8"/>
-          </parameter>
-          <parameter name="blue" transfer-ownership="none">
-            <doc xml:whitespace="preserve">value of the blue channel, between 0 and 255</doc>
-            <type name="guint8" c:type="guint8"/>
-          </parameter>
-          <parameter name="alpha" transfer-ownership="none">
-            <doc xml:whitespace="preserve">value of the alpha channel, between 0 and 255</doc>
-            <type name="guint8" c:type="guint8"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="premultiply"
-              c:identifier="cogl_color_premultiply"
-              version="1.0">
-        <doc xml:whitespace="preserve">Converts a non-premultiplied color to a pre-multiplied color. For
-example, semi-transparent red is (1.0, 0, 0, 0.5) when non-premultiplied
-and (0.5, 0, 0, 0.5) when premultiplied.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="set_alpha"
-              c:identifier="cogl_color_set_alpha"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the alpha channel of @color to @alpha.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="alpha" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a float value between 0.0f and 1.0f</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_alpha_byte"
-              c:identifier="cogl_color_set_alpha_byte"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the alpha channel of @color to @alpha.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="alpha" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a byte value between 0 and 255</doc>
-            <type name="guint8" c:type="unsigned char"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_alpha_float"
-              c:identifier="cogl_color_set_alpha_float"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the alpha channel of @color to @alpha.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="alpha" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a float value between 0.0f and 1.0f</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_blue" c:identifier="cogl_color_set_blue" version="1.4">
-        <doc xml:whitespace="preserve">Sets the blue channel of @color to @blue.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="blue" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a float value between 0.0f and 1.0f</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_blue_byte"
-              c:identifier="cogl_color_set_blue_byte"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the blue channel of @color to @blue.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="blue" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a byte value between 0 and 255</doc>
-            <type name="guint8" c:type="unsigned char"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_blue_float"
-              c:identifier="cogl_color_set_blue_float"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the blue channel of @color to @blue.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="blue" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a float value between 0.0f and 1.0f</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_from_4f"
-              c:identifier="cogl_color_set_from_4f"
-              version="1.0"
-              deprecated="Use cogl_color_init_from_4f instead."
-              deprecated-version="1.4">
-        <doc xml:whitespace="preserve">Sets the values of the passed channels into a #CoglColor</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="red" transfer-ownership="none">
-            <doc xml:whitespace="preserve">value of the red channel, between 0 and %1.0</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="green" transfer-ownership="none">
-            <doc xml:whitespace="preserve">value of the green channel, between 0 and %1.0</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="blue" transfer-ownership="none">
-            <doc xml:whitespace="preserve">value of the blue channel, between 0 and %1.0</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="alpha" transfer-ownership="none">
-            <doc xml:whitespace="preserve">value of the alpha channel, between 0 and %1.0</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_from_4ub"
-              c:identifier="cogl_color_set_from_4ub"
-              version="1.0"
-              deprecated="Use cogl_color_init_from_4ub instead."
-              deprecated-version="1.4">
-        <doc xml:whitespace="preserve">Sets the values of the passed channels into a #CoglColor.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="red" transfer-ownership="none">
-            <doc xml:whitespace="preserve">value of the red channel, between 0 and 255</doc>
-            <type name="guint8" c:type="guint8"/>
-          </parameter>
-          <parameter name="green" transfer-ownership="none">
-            <doc xml:whitespace="preserve">value of the green channel, between 0 and 255</doc>
-            <type name="guint8" c:type="guint8"/>
-          </parameter>
-          <parameter name="blue" transfer-ownership="none">
-            <doc xml:whitespace="preserve">value of the blue channel, between 0 and 255</doc>
-            <type name="guint8" c:type="guint8"/>
-          </parameter>
-          <parameter name="alpha" transfer-ownership="none">
-            <doc xml:whitespace="preserve">value of the alpha channel, between 0 and 255</doc>
-            <type name="guint8" c:type="guint8"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_green"
-              c:identifier="cogl_color_set_green"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the green channel of @color to @green.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="green" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a float value between 0.0f and 1.0f</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_green_byte"
-              c:identifier="cogl_color_set_green_byte"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the green channel of @color to @green.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="green" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a byte value between 0 and 255</doc>
-            <type name="guint8" c:type="unsigned char"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_green_float"
-              c:identifier="cogl_color_set_green_float"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the green channel of @color to @green.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="green" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a float value between 0.0f and 1.0f</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_red" c:identifier="cogl_color_set_red" version="1.4">
-        <doc xml:whitespace="preserve">Sets the red channel of @color to @red.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="red" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a float value between 0.0f and 1.0f</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_red_byte"
-              c:identifier="cogl_color_set_red_byte"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the red channel of @color to @red.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="red" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a byte value between 0 and 255</doc>
-            <type name="guint8" c:type="unsigned char"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_red_float"
-              c:identifier="cogl_color_set_red_float"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the red channel of @color to @red.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="red" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a float value between 0.0f and 1.0f</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="unpremultiply"
-              c:identifier="cogl_color_unpremultiply"
-              version="1.4">
-        <doc xml:whitespace="preserve">Converts a pre-multiplied color to a non-premultiplied color. For
-example, semi-transparent red is (0.5, 0, 0, 0.5) when premultiplied
-and (1.0, 0, 0, 0.5) when non-premultiplied.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-    </record>
-    <enumeration name="DepthTestFunction"
-                 glib:type-name="CoglDepthTestFunction"
-                 glib:get-type="cogl_depth_test_function_get_type"
-                 c:type="CoglDepthTestFunction">
-      <doc xml:whitespace="preserve">When using depth testing one of these functions is used to compare
-the depth of an incoming fragment against the depth value currently
-stored in the depth buffer. The function is changed using
-cogl_material_set_depth_test_function().
-The test is only done when depth testing is explicitly enabled. (See
-cogl_material_set_depth_test_enabled())</doc>
-      <member name="never"
-              value="512"
-              c:identifier="COGL_DEPTH_TEST_FUNCTION_NEVER"
-              glib:nick="never"/>
-      <member name="less"
-              value="513"
-              c:identifier="COGL_DEPTH_TEST_FUNCTION_LESS"
-              glib:nick="less"/>
-      <member name="equal"
-              value="514"
-              c:identifier="COGL_DEPTH_TEST_FUNCTION_EQUAL"
-              glib:nick="equal"/>
-      <member name="lequal"
-              value="515"
-              c:identifier="COGL_DEPTH_TEST_FUNCTION_LEQUAL"
-              glib:nick="lequal"/>
-      <member name="greater"
-              value="516"
-              c:identifier="COGL_DEPTH_TEST_FUNCTION_GREATER"
-              glib:nick="greater"/>
-      <member name="notequal"
-              value="517"
-              c:identifier="COGL_DEPTH_TEST_FUNCTION_NOTEQUAL"
-              glib:nick="notequal"/>
-      <member name="gequal"
-              value="518"
-              c:identifier="COGL_DEPTH_TEST_FUNCTION_GEQUAL"
-              glib:nick="gequal"/>
-      <member name="always"
-              value="519"
-              c:identifier="COGL_DEPTH_TEST_FUNCTION_ALWAYS"
-              glib:nick="always"/>
-    </enumeration>
-    <enumeration name="DriverError"
-                 glib:type-name="CoglDriverError"
-                 glib:get-type="cogl_driver_error_get_type"
-                 c:type="CoglDriverError">
-      <member name="unknown_version"
-              value="0"
-              c:identifier="COGL_DRIVER_ERROR_UNKNOWN_VERSION"
-              glib:nick="unknown-version"/>
-      <member name="invalid_version"
-              value="1"
-              c:identifier="COGL_DRIVER_ERROR_INVALID_VERSION"
-              glib:nick="invalid-version"/>
-    </enumeration>
-    <enumeration name="Error"
-                 version="1.4"
-                 glib:type-name="CoglError"
-                 glib:get-type="cogl_error_get_type"
-                 c:type="CoglError">
-      <doc xml:whitespace="preserve">Error enumeration for Cogl
-The @COGL_ERROR_UNSUPPORTED error can be thrown for a variety of
-reasons. For example:
-&lt;itemizedlist&gt;
-&lt;listitem&gt;&lt;para&gt;You've tried to use a feature that is not
-advertised by cogl_get_features(). This could happen if you create
-a non-sliced texture with a non-power-of-two size when
-%COGL_FEATURE_TEXTURE_NPOT is not advertised.&lt;/para&gt;&lt;/listitem&gt;
-&lt;listitem&gt;&lt;para&gt;The GPU can not handle the configuration you have
-requested. An example might be if you try to use too many texture
-layers in a single #CoglMaterial&lt;/para&gt;&lt;/listitem&gt;
-&lt;listitem&gt;&lt;para&gt;The driver does not support some
-configuration.&lt;/para&gt;&lt;/listiem&gt;
-&lt;/itemizedlist&gt;
-Currently this is only used by Cogl API marked as experimental so
-this enum should also be considered experimental.</doc>
-      <member name="unsupported"
-              value="0"
-              c:identifier="COGL_ERROR_UNSUPPORTED"
-              glib:nick="unsupported"/>
-    </enumeration>
-    <constant name="FIXED_0_5" value="32768">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="FIXED_1" value="1">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="FIXED_2_PI" value="411775">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="FIXED_BITS" value="32">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="FIXED_EPSILON" value="1">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="FIXED_MAX" value="2147483647">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="FIXED_MIN" value="-2147483648">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="FIXED_PI" value="205887">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="FIXED_PI_2" value="102944">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="FIXED_PI_4" value="51472">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="FIXED_Q" value="-16">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <bitfield name="FeatureFlags"
-              version="0.8"
-              glib:type-name="CoglFeatureFlags"
-              glib:get-type="cogl_feature_flags_get_type"
-              c:type="CoglFeatureFlags">
-      <doc xml:whitespace="preserve">Flags for the supported features.</doc>
-      <member name="texture_rectangle"
-              value="2"
-              c:identifier="COGL_FEATURE_TEXTURE_RECTANGLE"
-              glib:nick="texture-rectangle"/>
-      <member name="texture_npot"
-              value="4"
-              c:identifier="COGL_FEATURE_TEXTURE_NPOT"
-              glib:nick="texture-npot"/>
-      <member name="texture_yuv"
-              value="8"
-              c:identifier="COGL_FEATURE_TEXTURE_YUV"
-              glib:nick="texture-yuv"/>
-      <member name="texture_read_pixels"
-              value="16"
-              c:identifier="COGL_FEATURE_TEXTURE_READ_PIXELS"
-              glib:nick="texture-read-pixels"/>
-      <member name="shaders_glsl"
-              value="32"
-              c:identifier="COGL_FEATURE_SHADERS_GLSL"
-              glib:nick="shaders-glsl"/>
-      <member name="offscreen"
-              value="64"
-              c:identifier="COGL_FEATURE_OFFSCREEN"
-              glib:nick="offscreen"/>
-      <member name="offscreen_multisample"
-              value="128"
-              c:identifier="COGL_FEATURE_OFFSCREEN_MULTISAMPLE"
-              glib:nick="offscreen-multisample"/>
-      <member name="offscreen_blit"
-              value="256"
-              c:identifier="COGL_FEATURE_OFFSCREEN_BLIT"
-              glib:nick="offscreen-blit"/>
-      <member name="four_clip_planes"
-              value="512"
-              c:identifier="COGL_FEATURE_FOUR_CLIP_PLANES"
-              glib:nick="four-clip-planes"/>
-      <member name="stencil_buffer"
-              value="1024"
-              c:identifier="COGL_FEATURE_STENCIL_BUFFER"
-              glib:nick="stencil-buffer"/>
-      <member name="vbos"
-              value="2048"
-              c:identifier="COGL_FEATURE_VBOS"
-              glib:nick="vbos"/>
-      <member name="pbos"
-              value="4096"
-              c:identifier="COGL_FEATURE_PBOS"
-              glib:nick="pbos"/>
-      <member name="unsigned_int_indices"
-              value="8192"
-              c:identifier="COGL_FEATURE_UNSIGNED_INT_INDICES"
-              glib:nick="unsigned-int-indices"/>
-      <member name="depth_range"
-              value="16384"
-              c:identifier="COGL_FEATURE_DEPTH_RANGE"
-              glib:nick="depth-range"/>
-      <member name="texture_npot_basic"
-              value="32768"
-              c:identifier="COGL_FEATURE_TEXTURE_NPOT_BASIC"
-              glib:nick="texture-npot-basic"/>
-      <member name="texture_npot_mipmap"
-              value="65536"
-              c:identifier="COGL_FEATURE_TEXTURE_NPOT_MIPMAP"
-              glib:nick="texture-npot-mipmap"/>
-      <member name="texture_npot_repeat"
-              value="131072"
-              c:identifier="COGL_FEATURE_TEXTURE_NPOT_REPEAT"
-              glib:nick="texture-npot-repeat"/>
-      <member name="point_sprite"
-              value="262144"
-              c:identifier="COGL_FEATURE_POINT_SPRITE"
-              glib:nick="point-sprite"/>
-      <member name="texture_3d"
-              value="524288"
-              c:identifier="COGL_FEATURE_TEXTURE_3D"
-              glib:nick="texture-3d"/>
-      <member name="shaders_arbfp"
-              value="1048576"
-              c:identifier="COGL_FEATURE_SHADERS_ARBFP"
-              glib:nick="shaders-arbfp"/>
-    </bitfield>
-    <enumeration name="FogMode"
-                 version="1.0"
-                 glib:type-name="CoglFogMode"
-                 glib:get-type="cogl_fog_mode_get_type"
-                 c:type="CoglFogMode">
-      <doc xml:whitespace="preserve">The fog mode determines the equation used to calculate the fogging blend
-factor while fogging is enabled. The simplest %COGL_FOG_MODE_LINEAR mode
-determines f as:
-|[
-f = end - eye_distance / end - start
-]|
-Where eye_distance is the distance of the current fragment in eye
-coordinates from the origin.</doc>
-      <member name="linear"
-              value="0"
-              c:identifier="COGL_FOG_MODE_LINEAR"
-              glib:nick="linear"/>
-      <member name="exponential"
-              value="1"
-              c:identifier="COGL_FOG_MODE_EXPONENTIAL"
-              glib:nick="exponential"/>
-      <member name="exponential_squared"
-              value="2"
-              c:identifier="COGL_FOG_MODE_EXPONENTIAL_SQUARED"
-              glib:nick="exponential-squared"/>
-    </enumeration>
-    <record name="Framebuffer" c:type="CoglFramebuffer" disguised="1">
-    </record>
-    <callback name="FuncPtr" c:type="CoglFuncPtr">
-      <doc xml:whitespace="preserve">The type used by cogl for function pointers, note that this type
-is used as a generic catch-all cast for function pointers and the
-actual arguments and return type may be different.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </callback>
-    <enumeration name="IndicesType"
-                 glib:type-name="CoglIndicesType"
-                 glib:get-type="cogl_indices_type_get_type"
-                 c:type="CoglIndicesType">
-      <doc xml:whitespace="preserve">You should aim to use the smallest data type that gives you enough
-range, since it reduces the size of your index array and can help
-reduce the demand on memory bandwidth.
-Note that %COGL_INDICES_TYPE_UNSIGNED_INT is only supported if the
-%COGL_FEATURE_UNSIGNED_INT_INDICES feature is available. This
-should always be available on OpenGL but on OpenGL ES it will only
-be available if the GL_OES_element_index_uint extension is
-advertized.</doc>
-      <member name="byte"
-              value="0"
-              c:identifier="COGL_INDICES_TYPE_UNSIGNED_BYTE"
-              glib:nick="byte"/>
-      <member name="short"
-              value="1"
-              c:identifier="COGL_INDICES_TYPE_UNSIGNED_SHORT"
-              glib:nick="short"/>
-      <member name="int"
-              value="2"
-              c:identifier="COGL_INDICES_TYPE_UNSIGNED_INT"
-              glib:nick="int"/>
-    </enumeration>
-    <record name="Material" c:type="CoglMaterial" disguised="1">
-      <method name="copy"
-              c:identifier="cogl_material_copy"
-              version="1.2"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Creates a new material with the configuration copied from the
-source material.
-We would strongly advise developers to always aim to use
-cogl_material_copy() instead of cogl_material_new() whenever there will
-be any similarity between two materials. Copying a material helps Cogl
-keep track of a materials ancestry which we may use to help minimize GPU
-state changes.</doc>
-        <return-value>
-          <doc xml:whitespace="preserve">a pointer to the newly allocated #CoglMaterial</doc>
-          <type name="Material" c:type="CoglMaterial*"/>
-        </return-value>
-      </method>
-      <method name="foreach_layer"
-              c:identifier="cogl_material_foreach_layer"
-              version="1.4"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Iterates all the layer indices of the given @material.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="callback" transfer-ownership="none" closure="1">
-            <doc xml:whitespace="preserve">A #CoglMaterialLayerCallback to be called for each layer index</doc>
-            <type name="MaterialLayerCallback"
-                  c:type="CoglMaterialLayerCallback"/>
-          </parameter>
-          <parameter name="user_data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Private data that will be passed to the callback</doc>
-            <type name="gpointer" c:type="void*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_ambient"
-              c:identifier="cogl_material_get_ambient"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the current ambient color for @material</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="ambient" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The location to store the ambient color</doc>
-            <type name="Color" c:type="CoglColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_color"
-              c:identifier="cogl_material_get_color"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the current material color.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="color"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">The location to store the color</doc>
-            <type name="Color" c:type="CoglColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_depth_range"
-              c:identifier="cogl_material_get_depth_range">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="near_val" transfer-ownership="none">
-            <type name="gfloat" c:type="float*"/>
-          </parameter>
-          <parameter name="far_val" transfer-ownership="none">
-            <type name="gfloat" c:type="float*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_depth_test_enabled"
-              c:identifier="cogl_material_get_depth_test_enabled"
-              version="1.4">
-        <doc xml:whitespace="preserve">Gets the current depth test enabled state as previously set by
-cogl_material_set_depth_test_enabled().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The material's current depth test enabled state.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_depth_test_function"
-              c:identifier="cogl_material_get_depth_test_function"
-              version="1.4">
-        <doc xml:whitespace="preserve">Gets the current depth test enable state as previously set via
-cogl_material_set_depth_test_enabled().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The current depth test enable state.</doc>
-          <type name="DepthTestFunction" c:type="CoglDepthTestFunction"/>
-        </return-value>
-      </method>
-      <method name="get_depth_writing_enabled"
-              c:identifier="cogl_material_get_depth_writing_enabled"
-              version="1.4">
-        <doc xml:whitespace="preserve">Gets the depth writing enable state as set by the corresponding
-cogl_material_set_depth_writing_enabled.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The current depth writing enable state</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_diffuse"
-              c:identifier="cogl_material_get_diffuse"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the current diffuse color for @material</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="diffuse" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The location to store the diffuse color</doc>
-            <type name="Color" c:type="CoglColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_emission"
-              c:identifier="cogl_material_get_emission"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the materials current emission color.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="emission" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The location to store the emission color</doc>
-            <type name="Color" c:type="CoglColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_layer_point_sprite_coords_enabled"
-              c:identifier="cogl_material_get_layer_point_sprite_coords_enabled"
-              version="1.4">
-        <doc xml:whitespace="preserve">Gets whether point sprite coordinate generation is enabled for this
-texture layer.
-point sprite coordinates.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">whether the texture coordinates will be replaced with</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="layer_index" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the layer number to check.</doc>
-            <type name="gint" c:type="int"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_layers" c:identifier="cogl_material_get_layers">
-        <doc xml:whitespace="preserve">This function lets you access a material's internal list of layers
-for iteration.
-&lt;note&gt;You should avoid using this API if possible since it was only
-made public by mistake and will be deprecated when we have
-suitable alternative.&lt;/note&gt;
-&lt;note&gt;It's important to understand that the list returned may not
-remain valid if you modify the material or any of the layers in any
-way and so you would have to re-get the list in that
-situation.&lt;/note&gt;
-list of #CoglMaterialLayer&lt;!-- --&gt;'s that can be passed to the
-cogl_material_layer_* functions. The list is owned by Cogl and it
-should not be modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">A</doc>
-          <type name="GLib.List" c:type="GList*">
-            <type name="MaterialLayer"/>
-          </type>
-        </return-value>
-      </method>
-      <method name="get_n_layers"
-              c:identifier="cogl_material_get_n_layers"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the number of layers defined for the given @material</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of layers</doc>
-          <type name="gint" c:type="int"/>
-        </return-value>
-      </method>
-      <method name="get_shininess"
-              c:identifier="cogl_material_get_shininess"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the materials current emission color.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">The materials current shininess value</doc>
-          <type name="gfloat" c:type="float"/>
-        </return-value>
-      </method>
-      <method name="get_specular"
-              c:identifier="cogl_material_get_specular"
-              version="1.0">
-        <doc xml:whitespace="preserve">Retrieves the materials current specular color.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="specular" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The location to store the specular color</doc>
-            <type name="Color" c:type="CoglColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_user_program"
-              c:identifier="cogl_material_get_user_program"
-              version="1.4"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Queries what user program has been associated with the given</doc>
-        <return-value>
-          <doc xml:whitespace="preserve">The current user program or %COGL_INVALID_HANDLE.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </return-value>
-      </method>
-      <method name="remove_layer" c:identifier="cogl_material_remove_layer">
-        <doc xml:whitespace="preserve">This function removes a layer from your material</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="layer_index" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Specifies the layer you want to remove</doc>
-            <type name="gint" c:type="int"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_alpha_test_function"
-              c:identifier="cogl_material_set_alpha_test_function"
-              version="1.0">
-        <doc xml:whitespace="preserve">Before a primitive is blended with the framebuffer, it goes through an
-alpha test stage which lets you discard fragments based on the current
-alpha value. This function lets you change the function used to evaluate
-the alpha channel, and thus determine which fragments are discarded
-and which continue on to the blending stage.
-The default is %COGL_MATERIAL_ALPHA_FUNC_ALWAYS</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="alpha_func" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A @CoglMaterialAlphaFunc constant</doc>
-            <type name="MaterialAlphaFunc" c:type="CoglMaterialAlphaFunc"/>
-          </parameter>
-          <parameter name="alpha_reference" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A reference point that the chosen alpha function uses to compare incoming fragments to.</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_ambient"
-              c:identifier="cogl_material_set_ambient"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the material's ambient color, in the standard OpenGL lighting
-model. The ambient color affects the overall color of the object.
-Since the diffuse color will be intense when the light hits the surface
-directly, the ambient will be most apparent where the light hits at a
-slant.
-The default value is (0.2, 0.2, 0.2, 1.0)</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="ambient" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The components of the desired ambient color</doc>
-            <type name="Color" c:type="CoglColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_ambient_and_diffuse"
-              c:identifier="cogl_material_set_ambient_and_diffuse"
-              version="1.0">
-        <doc xml:whitespace="preserve">Conveniently sets the diffuse and ambient color of @material at the same
-time. See cogl_material_set_ambient() and cogl_material_set_diffuse().
-The default ambient color is (0.2, 0.2, 0.2, 1.0)
-The default diffuse color is (0.8, 0.8, 0.8, 1.0)</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="color" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The components of the desired ambient and diffuse colors</doc>
-            <type name="Color" c:type="CoglColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_blend"
-              c:identifier="cogl_material_set_blend"
-              version="1.0"
-              throws="1">
-        <doc xml:whitespace="preserve">If not already familiar; please refer &lt;link linkend="cogl-Blend-Strings"&gt;here&lt;/link&gt;
-for an overview of what blend strings are, and their syntax.
-Blending occurs after the alpha test function, and combines fragments with
-the framebuffer.
-Currently the only blend function Cogl exposes is ADD(). So any valid
-blend statements will be of the form:
-|[
-&amp;lt;channel-mask&amp;gt;=ADD(SRC_COLOR*(&amp;lt;factor&amp;gt;), DST_COLOR*(&amp;lt;factor&amp;gt;))
-]|
-&lt;warning&gt;The brackets around blend factors are currently not
-optional!&lt;/warning&gt;
-This is the list of source-names usable as blend factors:
-&lt;itemizedlist&gt;
-&lt;listitem&gt;&lt;para&gt;SRC_COLOR: The color of the in comming fragment&lt;/para&gt;&lt;/listitem&gt;
-&lt;listitem&gt;&lt;para&gt;DST_COLOR: The color of the framebuffer&lt;/para&gt;&lt;/listitem&gt;
-&lt;listitem&gt;&lt;para&gt;CONSTANT: The constant set via cogl_material_set_blend_constant()&lt;/para&gt;&lt;/listitem&gt;
-&lt;/itemizedlist&gt;
-The source names can be used according to the
-&lt;link linkend="cogl-Blend-String-syntax"&gt;color-source and factor syntax&lt;/link&gt;,
-so for example "(1-SRC_COLOR[A])" would be a valid factor, as would
-"(CONSTANT[RGB])"
-These can also be used as factors:
-&lt;itemizedlist&gt;
-&lt;listitem&gt;0: (0, 0, 0, 0)&lt;/listitem&gt;
-&lt;listitem&gt;1: (1, 1, 1, 1)&lt;/listitem&gt;
-&lt;listitem&gt;SRC_ALPHA_SATURATE_FACTOR: (f,f,f,1) where f = MIN(SRC_COLOR[A],1-DST_COLOR[A])&lt;/listitem&gt;
-&lt;/itemizedlist&gt;
-&lt;note&gt;Remember; all color components are normalized to the range [0, 1]
-before computing the result of blending.&lt;/note&gt;
-&lt;example id="cogl-Blend-Strings-blend-unpremul"&gt;
-&lt;title&gt;Blend Strings/1&lt;/title&gt;
-&lt;para&gt;Blend a non-premultiplied source over a destination with
-premultiplied alpha:&lt;/para&gt;
-&lt;programlisting&gt;
-"RGB = ADD(SRC_COLOR*(SRC_COLOR[A]), DST_COLOR*(1-SRC_COLOR[A]))"
-"A   = ADD(SRC_COLOR, DST_COLOR*(1-SRC_COLOR[A]))"
-&lt;/programlisting&gt;
-&lt;/example&gt;
-&lt;example id="cogl-Blend-Strings-blend-premul"&gt;
-&lt;title&gt;Blend Strings/2&lt;/title&gt;
-&lt;para&gt;Blend a premultiplied source over a destination with
-premultiplied alpha&lt;/para&gt;
-&lt;programlisting&gt;
-"RGBA = ADD(SRC_COLOR, DST_COLOR*(1-SRC_COLOR[A]))"
-&lt;/programlisting&gt;
-&lt;/example&gt;
-The default blend string is:
-|[
-RGBA = ADD (SRC_COLOR, DST_COLOR*(1-SRC_COLOR[A]))
-]|
-That gives normal alpha-blending when the calculated color for the material
-is in premultiplied form.
-described blending is supported by the underlying driver/hardware. If
-there was an error, %FALSE is returned and @error is set accordingly (if
-present).</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the blend string was successfully parsed, and the</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="blend_string" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A &lt;link linkend="cogl-Blend-Strings"&gt;Cogl blend string&lt;/link&gt; describing the desired blend function.</doc>
-            <type name="utf8" c:type="char*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_blend_constant"
-              c:identifier="cogl_material_set_blend_constant"
-              version="1.0">
-        <doc xml:whitespace="preserve">When blending is setup to reference a CONSTANT blend factor then
-blending will depend on the constant set with this function.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="constant_color" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The constant color you want</doc>
-            <type name="Color" c:type="CoglColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_color"
-              c:identifier="cogl_material_set_color"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the basic color of the material, used when no lighting is enabled.
-Note that if you don't add any layers to the material then the color
-will be blended unmodified with the destination; the default blend
-semi-transparent red. See cogl_color_premultiply().
-The default value is (1.0, 1.0, 1.0, 1.0)</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="color" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The components of the color</doc>
-            <type name="Color" c:type="CoglColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_color4f"
-              c:identifier="cogl_material_set_color4f"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the basic color of the material, used when no lighting is enabled.
-The default value is (1.0, 1.0, 1.0, 1.0)</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="red" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The red component</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="green" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The green component</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="blue" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The blue component</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="alpha" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The alpha component</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_color4ub"
-              c:identifier="cogl_material_set_color4ub"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the basic color of the material, used when no lighting is enabled.
-The default value is (0xff, 0xff, 0xff, 0xff)</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="red" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The red component</doc>
-            <type name="guint8" c:type="guint8"/>
-          </parameter>
-          <parameter name="green" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The green component</doc>
-            <type name="guint8" c:type="guint8"/>
-          </parameter>
-          <parameter name="blue" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The blue component</doc>
-            <type name="guint8" c:type="guint8"/>
-          </parameter>
-          <parameter name="alpha" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The alpha component</doc>
-            <type name="guint8" c:type="guint8"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_depth_range"
-              c:identifier="cogl_material_set_depth_range"
-              version="1.4"
-              throws="1">
-        <doc xml:whitespace="preserve">Sets the range to map depth values in normalized device coordinates
-to before writing out to a depth buffer.
-After your geometry has be transformed, clipped and had perspective
-division applied placing it in normalized device
-coordinates all depth values between the near and far z clipping
-planes are in the range -1 to 1. Before writing any depth value to
-the depth buffer though the value is mapped into the range [0, 1].
-With this function you can change the range which depth values are
-mapped too although the range must still lye within the range [0,
-1].
-If your driver does not support this feature (for example you are
-using GLES 1 drivers) then this will return %FALSE and set an error
-if @error isn't NULL. You can check ahead of time for the
-%COGL_FEATURE_DEPTH_RANGE feature with cogl_features_available() to
-know if this function will succeed.
-By default normalized device coordinate depth values are mapped to
-the full range of depth buffer values, [0, 1].</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if driver support is available else %FALSE.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="near_val" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The near component of the desired depth range which will be clamped to the range [0, 1]</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="far_val" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The far component of the desired depth range which will be clamped to the range [0, 1]</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_depth_test_enabled"
-              c:identifier="cogl_material_set_depth_test_enabled"
-              version="1.4">
-        <doc xml:whitespace="preserve">Enables or disables depth testing according to the value of
-If depth testing is enable then the #CoglDepthTestFunction set
-using cogl_material_set_depth_test_function() us used to evaluate
-the depth value of incoming fragments against the corresponding
-value stored in the current depth buffer, and if the test passes
-then the fragments depth value is used to update the depth buffer.
-(unless you have disabled depth writing via
-cogl_material_set_depth_writing_enabled ())
-By default depth testing is disabled.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="enable" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The enable state you want</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_depth_test_function"
-              c:identifier="cogl_material_set_depth_test_function"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the #CoglDepthTestFunction used to compare the depth value of
-an incoming fragment against the corresponding value in the current
-depth buffer.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="function" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The #CoglDepthTestFunction to set</doc>
-            <type name="DepthTestFunction" c:type="CoglDepthTestFunction"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_depth_writing_enabled"
-              c:identifier="cogl_material_set_depth_writing_enabled"
-              version="1.4">
-        <doc xml:whitespace="preserve">Enables or disables depth buffer writing according to the value of
-between a fragment's depth value and the corresponding depth buffer
-value passes then the fragment's depth is written to the depth
-buffer unless writing is disabled here.
-By default depth writing is enabled</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="enable" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The enable state you want</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_diffuse"
-              c:identifier="cogl_material_set_diffuse"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the material's diffuse color, in the standard OpenGL lighting
-model. The diffuse color is most intense where the light hits the
-surface directly - perpendicular to the surface.
-The default value is (0.8, 0.8, 0.8, 1.0)</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="diffuse" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The components of the desired diffuse color</doc>
-            <type name="Color" c:type="CoglColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_emission"
-              c:identifier="cogl_material_set_emission"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the material's emissive color, in the standard OpenGL lighting
-model. It will look like the surface is a light source emitting this
-color.
-The default value is (0.0, 0.0, 0.0, 1.0)</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="emission" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The components of the desired emissive color</doc>
-            <type name="Color" c:type="CoglColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_layer"
-              c:identifier="cogl_material_set_layer"
-              version="1.0">
-        <doc xml:whitespace="preserve">In addition to the standard OpenGL lighting model a Cogl material may have
-one or more layers comprised of textures that can be blended together in
-order, with a number of different texture combine modes. This function
-defines a new texture layer.
-The index values of multiple layers do not have to be consecutive; it is
-only their relative order that is important.
-&lt;note&gt;In the future, we may define other types of material layers, such
-as purely GLSL based layers.&lt;/note&gt;</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="layer_index" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the index of the layer</doc>
-            <type name="gint" c:type="int"/>
-          </parameter>
-          <parameter name="texture" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #CoglHandle for the layer object</doc>
-            <type name="Handle" c:type="CoglHandle"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_layer_combine"
-              c:identifier="cogl_material_set_layer_combine"
-              version="1.0"
-              throws="1">
-        <doc xml:whitespace="preserve">If not already familiar; you can refer
-&lt;link linkend="cogl-Blend-Strings"&gt;here&lt;/link&gt; for an overview of what blend
-strings are and there syntax.
-These are all the functions available for texture combining:
-&lt;itemizedlist&gt;
-&lt;listitem&gt;REPLACE(arg0) = arg0&lt;/listitem&gt;
-&lt;listitem&gt;MODULATE(arg0, arg1) = arg0 x arg1&lt;/listitem&gt;
-&lt;listitem&gt;ADD(arg0, arg1) = arg0 + arg1&lt;/listitem&gt;
-&lt;listitem&gt;ADD_SIGNED(arg0, arg1) = arg0 + arg1 - 0.5&lt;/listitem&gt;
-&lt;listitem&gt;INTERPOLATE(arg0, arg1, arg2) = arg0 x arg2 + arg1 x (1 - arg2)&lt;/listitem&gt;
-&lt;listitem&gt;SUBTRACT(arg0, arg1) = arg0 - arg1&lt;/listitem&gt;
-&lt;listitem&gt;
-&lt;programlisting&gt;
-DOT3_RGB(arg0, arg1) = 4 x ((arg0[R] - 0.5)) * (arg1[R] - 0.5) +
-(arg0[G] - 0.5)) * (arg1[G] - 0.5) +
-(arg0[B] - 0.5)) * (arg1[B] - 0.5))
-&lt;/programlisting&gt;
-&lt;/listitem&gt;
-&lt;listitem&gt;
-&lt;programlisting&gt;
-DOT3_RGBA(arg0, arg1) = 4 x ((arg0[R] - 0.5)) * (arg1[R] - 0.5) +
-(arg0[G] - 0.5)) * (arg1[G] - 0.5) +
-(arg0[B] - 0.5)) * (arg1[B] - 0.5))
-&lt;/programlisting&gt;
-&lt;/listitem&gt;
-&lt;/itemizedlist&gt;
-Refer to the
-&lt;link linkend="cogl-Blend-String-syntax"&gt;color-source syntax&lt;/link&gt; for
-describing the arguments. The valid source names for texture combining
-are:
-&lt;variablelist&gt;
-&lt;varlistentry&gt;
-&lt;term&gt;TEXTURE&lt;/term&gt;
-&lt;listitem&gt;Use the color from the current texture layer&lt;/listitem&gt;
-&lt;/varlistentry&gt;
-&lt;varlistentry&gt;
-&lt;term&gt;TEXTURE_0, TEXTURE_1, etc&lt;/term&gt;
-&lt;listitem&gt;Use the color from the specified texture layer&lt;/listitem&gt;
-&lt;/varlistentry&gt;
-&lt;varlistentry&gt;
-&lt;term&gt;CONSTANT&lt;/term&gt;
-&lt;listitem&gt;Use the color from the constant given with
-cogl_material_set_layer_constant()&lt;/listitem&gt;
-&lt;/varlistentry&gt;
-&lt;varlistentry&gt;
-&lt;term&gt;PRIMARY&lt;/term&gt;
-&lt;listitem&gt;Use the color of the material as set with
-cogl_material_set_color()&lt;/listitem&gt;
-&lt;/varlistentry&gt;
-&lt;varlistentry&gt;
-&lt;term&gt;PREVIOUS&lt;/term&gt;
-&lt;listitem&gt;Either use the texture color from the previous layer, or
-if this is layer 0, use the color of the material as set with
-cogl_material_set_color()&lt;/listitem&gt;
-&lt;/varlistentry&gt;
-&lt;/variablelist&gt;
-&lt;refsect2 id="cogl-Layer-Combine-Examples"&gt;
-&lt;title&gt;Layer Combine Examples&lt;/title&gt;
-&lt;para&gt;This is effectively what the default blending is:&lt;/para&gt;
-&lt;informalexample&gt;&lt;programlisting&gt;
-RGBA = MODULATE (PREVIOUS, TEXTURE)
-&lt;/programlisting&gt;&lt;/informalexample&gt;
-&lt;para&gt;This could be used to cross-fade between two images, using
-the alpha component of a constant as the interpolator. The constant
-color is given by calling cogl_material_set_layer_constant.&lt;/para&gt;
-&lt;informalexample&gt;&lt;programlisting&gt;
-RGBA = INTERPOLATE (PREVIOUS, TEXTURE, CONSTANT[A])
-&lt;/programlisting&gt;&lt;/informalexample&gt;
-&lt;/refsect2&gt;
-&lt;note&gt;You can't give a multiplication factor for arguments as you can
-with blending.&lt;/note&gt;
-described texture combining is supported by the underlying driver and
-or hardware. On failure, %FALSE is returned and @error is set</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the blend string was successfully parsed, and the</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="layer_index" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Specifies the layer you want define a combine function for</doc>
-            <type name="gint" c:type="int"/>
-          </parameter>
-          <parameter name="blend_string" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A &lt;link linkend="cogl-Blend-Strings"&gt;Cogl blend string&lt;/link&gt; describing the desired texture combine function.</doc>
-            <type name="utf8" c:type="char*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_layer_combine_constant"
-              c:identifier="cogl_material_set_layer_combine_constant"
-              version="1.0">
-        <doc xml:whitespace="preserve">When you are using the 'CONSTANT' color source in a layer combine
-description then you can use this function to define its value.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="layer_index" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Specifies the layer you want to specify a constant used for texture combining</doc>
-            <type name="gint" c:type="int"/>
-          </parameter>
-          <parameter name="constant" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The constant color you want</doc>
-            <type name="Color" c:type="CoglColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_layer_filters"
-              c:identifier="cogl_material_set_layer_filters">
-        <doc xml:whitespace="preserve">Changes the decimation and interpolation filters used when a texture is
-drawn at other scales than 100%.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="layer_index" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the layer number to change.</doc>
-            <type name="gint" c:type="int"/>
-          </parameter>
-          <parameter name="min_filter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the filter used when scaling a texture down.</doc>
-            <type name="MaterialFilter" c:type="CoglMaterialFilter"/>
-          </parameter>
-          <parameter name="mag_filter" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the filter used when magnifying a texture.</doc>
-            <type name="MaterialFilter" c:type="CoglMaterialFilter"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_layer_matrix"
-              c:identifier="cogl_material_set_layer_matrix">
-        <doc xml:whitespace="preserve">This function lets you set a matrix that can be used to e.g. translate
-and rotate a single layer of a material used to fill your geometry.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="layer_index" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the index for the layer inside @material</doc>
-            <type name="gint" c:type="int"/>
-          </parameter>
-          <parameter name="matrix" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the transformation matrix for the layer</doc>
-            <type name="Matrix" c:type="CoglMatrix*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_layer_point_sprite_coords_enabled"
-              c:identifier="cogl_material_set_layer_point_sprite_coords_enabled"
-              version="1.4"
-              throws="1">
-        <doc xml:whitespace="preserve">When rendering points, if @enable is %TRUE then the texture
-coordinates for this layer will be replaced with coordinates that
-vary from 0.0 to 1.0 across the primitive. The top left of the
-point will have the coordinates 0.0,0.0 and the bottom right will
-have 1.0,1.0. If @enable is %FALSE then the coordinates will be
-fixed for the entire point.
-This function will only work if %COGL_FEATURE_POINT_SPRITE is
-available. If the feature is not available then the function will
-return %FALSE and set @error.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the function succeeds, %FALSE otherwise.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="layer_index" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the layer number to change.</doc>
-            <type name="gint" c:type="int"/>
-          </parameter>
-          <parameter name="enable" transfer-ownership="none">
-            <doc xml:whitespace="preserve">whether to enable point sprite coord generation.</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_layer_wrap_mode"
-              c:identifier="cogl_material_set_layer_wrap_mode"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the wrap mode for all three coordinates of texture lookups on
-this layer. This is equivalent to calling
-cogl_material_set_layer_wrap_mode_s(),
-cogl_material_set_layer_wrap_mode_t() and
-cogl_material_set_layer_wrap_mode_p() separately.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="layer_index" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the layer number to change.</doc>
-            <type name="gint" c:type="int"/>
-          </parameter>
-          <parameter name="mode" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the new wrap mode</doc>
-            <type name="MaterialWrapMode" c:type="CoglMaterialWrapMode"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_layer_wrap_mode_p"
-              c:identifier="cogl_material_set_layer_wrap_mode_p"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the wrap mode for the 'p' coordinate of texture lookups on
-this layer. 'p' is the third coordinate.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="layer_index" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the layer number to change.</doc>
-            <type name="gint" c:type="int"/>
-          </parameter>
-          <parameter name="mode" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the new wrap mode</doc>
-            <type name="MaterialWrapMode" c:type="CoglMaterialWrapMode"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_layer_wrap_mode_s"
-              c:identifier="cogl_material_set_layer_wrap_mode_s"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the wrap mode for the 's' coordinate of texture lookups on this layer.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="layer_index" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the layer number to change.</doc>
-            <type name="gint" c:type="int"/>
-          </parameter>
-          <parameter name="mode" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the new wrap mode</doc>
-            <type name="MaterialWrapMode" c:type="CoglMaterialWrapMode"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_layer_wrap_mode_t"
-              c:identifier="cogl_material_set_layer_wrap_mode_t"
-              version="1.4">
-        <doc xml:whitespace="preserve">Sets the wrap mode for the 't' coordinate of texture lookups on this layer.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="layer_index" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the layer number to change.</doc>
-            <type name="gint" c:type="int"/>
-          </parameter>
-          <parameter name="mode" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the new wrap mode</doc>
-            <type name="MaterialWrapMode" c:type="CoglMaterialWrapMode"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_shininess"
-              c:identifier="cogl_material_set_shininess"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the shininess of the material, in the standard OpenGL lighting
-model, which determines the size of the specular highlights. A
-higher @shininess will produce smaller highlights which makes the
-object appear more shiny.
-The default value is 0.0</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="shininess" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The desired shininess; must be &gt;= 0.0</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_specular"
-              c:identifier="cogl_material_set_specular"
-              version="1.0">
-        <doc xml:whitespace="preserve">Sets the material's specular color, in the standard OpenGL lighting
-model. The intensity of the specular color depends on the viewport
-position, and is brightest along the lines of reflection.
-The default value is (0.0, 0.0, 0.0, 1.0)</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="specular" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The components of the desired specular color</doc>
-            <type name="Color" c:type="CoglColor*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_user_program"
-              c:identifier="cogl_material_set_user_program"
-              version="1.4">
-        <doc xml:whitespace="preserve">Associates a linked CoglProgram with the given material so that the
-program can take full control of vertex and/or fragment processing.
-This is an example of how it can be used to associate an ARBfp
-program with a #CoglMaterial:
-|[
-CoglHandle shader;
-CoglHandle program;
-CoglMaterial *material;
-shader = cogl_create_shader (COGL_SHADER_TYPE_FRAGMENT);
-cogl_shader_source (shader,
-"!!ARBfp1.0\n"
-"MOV result.color,fragment.color;\n"
-"END\n");
-cogl_shader_compile (shader);
-program = cogl_create_program ();
-cogl_program_attach_shader (program, shader);
-cogl_program_link (program);
-material = cogl_material_new ();
-cogl_material_set_user_program (material, program);
-cogl_set_source_color4ub (0xff, 0x00, 0x00, 0xff);
-cogl_rectangle (0, 0, 100, 100);
-]|
-It is possibly worth keeping in mind that this API is not part of
-the long term design for how we want to expose shaders to Cogl
-developers (We are planning on deprecating the cogl_program and
-cogl_shader APIs in favour of a "snippet" framework) but in the
-meantime we hope this will handle most practical GLSL and ARBfp
-requirements.
-Also remember you need to check for either the
-%COGL_FEATURE_SHADERS_GLSL or %COGL_FEATURE_SHADERS_ARBFP before
-using the cogl_program or cogl_shader API.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="program" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A #CoglHandle to a linked CoglProgram</doc>
-            <type name="Handle" c:type="CoglHandle"/>
-          </parameter>
-        </parameters>
-      </method>
-    </record>
-    <enumeration name="MaterialAlphaFunc"
-                 glib:type-name="CoglMaterialAlphaFunc"
-                 glib:get-type="cogl_material_alpha_func_get_type"
-                 c:type="CoglMaterialAlphaFunc">
-      <doc xml:whitespace="preserve">Alpha testing happens before blending primitives with the framebuffer and
-gives an opportunity to discard fragments based on a comparison with the
-incoming alpha value and a reference alpha value. The #CoglMaterialAlphaFunc
-determines how the comparison is done.</doc>
-      <member name="never"
-              value="512"
-              c:identifier="COGL_MATERIAL_ALPHA_FUNC_NEVER"
-              glib:nick="never"/>
-      <member name="less"
-              value="513"
-              c:identifier="COGL_MATERIAL_ALPHA_FUNC_LESS"
-              glib:nick="less"/>
-      <member name="equal"
-              value="514"
-              c:identifier="COGL_MATERIAL_ALPHA_FUNC_EQUAL"
-              glib:nick="equal"/>
-      <member name="lequal"
-              value="515"
-              c:identifier="COGL_MATERIAL_ALPHA_FUNC_LEQUAL"
-              glib:nick="lequal"/>
-      <member name="greater"
-              value="516"
-              c:identifier="COGL_MATERIAL_ALPHA_FUNC_GREATER"
-              glib:nick="greater"/>
-      <member name="notequal"
-              value="517"
-              c:identifier="COGL_MATERIAL_ALPHA_FUNC_NOTEQUAL"
-              glib:nick="notequal"/>
-      <member name="gequal"
-              value="518"
-              c:identifier="COGL_MATERIAL_ALPHA_FUNC_GEQUAL"
-              glib:nick="gequal"/>
-      <member name="always"
-              value="519"
-              c:identifier="COGL_MATERIAL_ALPHA_FUNC_ALWAYS"
-              glib:nick="always"/>
-    </enumeration>
-    <enumeration name="MaterialFilter"
-                 glib:type-name="CoglMaterialFilter"
-                 glib:get-type="cogl_material_filter_get_type"
-                 c:type="CoglMaterialFilter">
-      <doc xml:whitespace="preserve">Texture filtering is used whenever the current pixel maps either to more
-than one texture element (texel) or less than one. These filter enums
-correspond to different strategies used to come up with a pixel color, by
-possibly referring to multiple neighbouring texels and taking a weighted
-average or simply using the nearest texel.</doc>
-      <member name="nearest"
-              value="9728"
-              c:identifier="COGL_MATERIAL_FILTER_NEAREST"
-              glib:nick="nearest"/>
-      <member name="linear"
-              value="9729"
-              c:identifier="COGL_MATERIAL_FILTER_LINEAR"
-              glib:nick="linear"/>
-      <member name="nearest_mipmap_nearest"
-              value="9984"
-              c:identifier="COGL_MATERIAL_FILTER_NEAREST_MIPMAP_NEAREST"
-              glib:nick="nearest-mipmap-nearest"/>
-      <member name="linear_mipmap_nearest"
-              value="9985"
-              c:identifier="COGL_MATERIAL_FILTER_LINEAR_MIPMAP_NEAREST"
-              glib:nick="linear-mipmap-nearest"/>
-      <member name="nearest_mipmap_linear"
-              value="9986"
-              c:identifier="COGL_MATERIAL_FILTER_NEAREST_MIPMAP_LINEAR"
-              glib:nick="nearest-mipmap-linear"/>
-      <member name="linear_mipmap_linear"
-              value="9987"
-              c:identifier="COGL_MATERIAL_FILTER_LINEAR_MIPMAP_LINEAR"
-              glib:nick="linear-mipmap-linear"/>
-    </enumeration>
-    <record name="MaterialLayer" c:type="CoglMaterialLayer" disguised="1">
-      <method name="get_mag_filter"
-              c:identifier="cogl_material_layer_get_mag_filter">
-        <doc xml:whitespace="preserve">Queries the currently set downscaling filter for a material later</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the current downscaling filter</doc>
-          <type name="MaterialFilter" c:type="CoglMaterialFilter"/>
-        </return-value>
-      </method>
-      <method name="get_min_filter"
-              c:identifier="cogl_material_layer_get_min_filter">
-        <doc xml:whitespace="preserve">Queries the currently set downscaling filter for a material layer</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the current downscaling filter</doc>
-          <type name="MaterialFilter" c:type="CoglMaterialFilter"/>
-        </return-value>
-      </method>
-      <method name="get_texture"
-              c:identifier="cogl_material_layer_get_texture">
-        <doc xml:whitespace="preserve">Extracts a texture handle for a specific layer.
-&lt;note&gt;In the future Cogl may support purely GLSL based layers; for those
-layers this function which will likely return %COGL_INVALID_HANDLE if you
-try to get the texture handle from them. Considering this scenario, you
-should call cogl_material_layer_get_type() first in order check it is of
-type %COGL_MATERIAL_LAYER_TYPE_TEXTURE before calling this function.&lt;/note&gt;</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglHandle for the texture inside the layer</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </return-value>
-      </method>
-      <method name="get_wrap_mode_p"
-              c:identifier="cogl_material_layer_get_wrap_mode_p"
-              version="1.4">
-        <doc xml:whitespace="preserve">Gets the wrap mode for the 'p' coordinate of texture lookups on
-this layer. 'p' is the third coordinate.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the wrap mode value for the p coordinate.</doc>
-          <type name="MaterialWrapMode" c:type="CoglMaterialWrapMode"/>
-        </return-value>
-      </method>
-      <method name="get_wrap_mode_s"
-              c:identifier="cogl_material_layer_get_wrap_mode_s"
-              version="1.4">
-        <doc xml:whitespace="preserve">Gets the wrap mode for the 's' coordinate of texture lookups on this layer.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the wrap mode value for the s coordinate.</doc>
-          <type name="MaterialWrapMode" c:type="CoglMaterialWrapMode"/>
-        </return-value>
-      </method>
-      <method name="get_wrap_mode_t"
-              c:identifier="cogl_material_layer_get_wrap_mode_t"
-              version="1.4">
-        <doc xml:whitespace="preserve">Gets the wrap mode for the 't' coordinate of texture lookups on this layer.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the wrap mode value for the t coordinate.</doc>
-          <type name="MaterialWrapMode" c:type="CoglMaterialWrapMode"/>
-        </return-value>
-      </method>
-    </record>
-    <callback name="MaterialLayerCallback"
-              c:type="CoglMaterialLayerCallback"
-              version="1.4">
-      <doc xml:whitespace="preserve">The callback prototype used with cogl_material_foreach_layer() for
-iterating all the layers of a @material.</doc>
-      <return-value transfer-ownership="none">
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="material" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The #CoglMaterial whos layers are being iterated</doc>
-          <type name="Material" c:type="CoglMaterial*"/>
-        </parameter>
-        <parameter name="layer_index" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The current layer index</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="user_data" transfer-ownership="none" closure="2">
-          <doc xml:whitespace="preserve">The private data passed to cogl_material_foreach_layer()</doc>
-          <type name="gpointer" c:type="void*"/>
-        </parameter>
-      </parameters>
-    </callback>
-    <enumeration name="MaterialLayerType"
-                 version="1.0"
-                 glib:type-name="CoglMaterialLayerType"
-                 glib:get-type="cogl_material_layer_type_get_type"
-                 c:type="CoglMaterialLayerType">
-      <doc xml:whitespace="preserve">Available types of layers for a #CoglMaterial. This enumeration
-might be expanded in later versions.</doc>
-      <member name="texture"
-              value="0"
-              c:identifier="COGL_MATERIAL_LAYER_TYPE_TEXTURE"
-              glib:nick="texture"/>
-    </enumeration>
-    <enumeration name="MaterialWrapMode"
-                 version="1.4"
-                 glib:type-name="CoglMaterialWrapMode"
-                 glib:get-type="cogl_material_wrap_mode_get_type"
-                 c:type="CoglMaterialWrapMode">
-      <doc xml:whitespace="preserve">The wrap mode specifies what happens when texture coordinates
-outside the range 0→1 are used. Note that if the filter mode is
-anything but %COGL_MATERIAL_FILTER_NEAREST then texels outside the
-range 0→1 might be used even when the coordinate is exactly 0 or 1
-because OpenGL will try to sample neighbouring pixels. For example
-if you are trying to render the full texture then you may get
-artifacts around the edges when the pixels from the other side are
-merged in if the wrap mode is set to repeat.</doc>
-      <member name="repeat"
-              value="10497"
-              c:identifier="COGL_MATERIAL_WRAP_MODE_REPEAT"
-              glib:nick="repeat"/>
-      <member name="clamp_to_edge"
-              value="33071"
-              c:identifier="COGL_MATERIAL_WRAP_MODE_CLAMP_TO_EDGE"
-              glib:nick="clamp-to-edge"/>
-      <member name="automatic"
-              value="519"
-              c:identifier="COGL_MATERIAL_WRAP_MODE_AUTOMATIC"
-              glib:nick="automatic"/>
-    </enumeration>
-    <record name="Matrix" c:type="CoglMatrix">
-      <doc xml:whitespace="preserve">A CoglMatrix holds a 4x4 transform matrix. This is a single precision,
-column-major matrix which means it is compatible with what OpenGL expects.
-A CoglMatrix can represent transforms such as, rotations, scaling,
-translation, sheering, and linear projections. You can combine these
-transforms by multiplying multiple matrices in the order you want them
-applied.
-The transformation of a vertex (x, y, z, w) by a CoglMatrix is given by:
-|[
-x_new = xx * x + xy * y + xz * z + xw * w
-y_new = yx * x + yy * y + yz * z + yw * w
-z_new = zx * x + zy * y + zz * z + zw * w
-w_new = wx * x + wy * y + wz * z + ww * w
-]|
-Where w is normally 1
-&lt;note&gt;You must consider the members of the CoglMatrix structure read only,
-and all matrix modifications must be done via the cogl_matrix API. This
-allows Cogl to annotate the matrices internally. Violation of this will give
-undefined results. If you need to initialize a matrix with a constant other
-than the identity matrix you can use cogl_matrix_init_from_array().&lt;/note&gt;</doc>
-      <field name="xx" writable="1">
-        <type name="gfloat" c:type="float"/>
-      </field>
-      <field name="yx" writable="1">
-        <type name="gfloat" c:type="float"/>
-      </field>
-      <field name="zx" writable="1">
-        <type name="gfloat" c:type="float"/>
-      </field>
-      <field name="wx" writable="1">
-        <type name="gfloat" c:type="float"/>
-      </field>
-      <field name="xy" writable="1">
-        <type name="gfloat" c:type="float"/>
-      </field>
-      <field name="yy" writable="1">
-        <type name="gfloat" c:type="float"/>
-      </field>
-      <field name="zy" writable="1">
-        <type name="gfloat" c:type="float"/>
-      </field>
-      <field name="wy" writable="1">
-        <type name="gfloat" c:type="float"/>
-      </field>
-      <field name="xz" writable="1">
-        <type name="gfloat" c:type="float"/>
-      </field>
-      <field name="yz" writable="1">
-        <type name="gfloat" c:type="float"/>
-      </field>
-      <field name="zz" writable="1">
-        <type name="gfloat" c:type="float"/>
-      </field>
-      <field name="wz" writable="1">
-        <type name="gfloat" c:type="float"/>
-      </field>
-      <field name="xw" writable="1">
-        <type name="gfloat" c:type="float"/>
-      </field>
-      <field name="yw" writable="1">
-        <type name="gfloat" c:type="float"/>
-      </field>
-      <field name="zw" writable="1">
-        <type name="gfloat" c:type="float"/>
-      </field>
-      <field name="ww" writable="1">
-        <type name="gfloat" c:type="float"/>
-      </field>
-      <field name="inv" writable="1">
-        <array zero-terminated="0" c:type="gfloat" fixed-size="16">
-          <type name="gfloat" c:type="float"/>
-        </array>
-      </field>
-      <field name="type" writable="1">
-        <type name="guint" c:type="unsigned"/>
-      </field>
-      <field name="flags" writable="1">
-        <type name="guint" c:type="unsigned"/>
-      </field>
-      <field name="_padding3" writable="1">
-        <type name="guint" c:type="unsigned"/>
-      </field>
-      <method name="frustum" c:identifier="cogl_matrix_frustum">
-        <doc xml:whitespace="preserve">Multiplies @matrix by the given frustum perspective matrix.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="left" transfer-ownership="none">
-            <doc xml:whitespace="preserve">coord of left vertical clipping plane</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="right" transfer-ownership="none">
-            <doc xml:whitespace="preserve">coord of right vertical clipping plane</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="bottom" transfer-ownership="none">
-            <doc xml:whitespace="preserve">coord of bottom horizontal clipping plane</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="top" transfer-ownership="none">
-            <doc xml:whitespace="preserve">coord of top horizontal clipping plane</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="z_near" transfer-ownership="none">
-            <doc xml:whitespace="preserve">positive distance to near depth clipping plane</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="z_far" transfer-ownership="none">
-            <doc xml:whitespace="preserve">positive distance to far depth clipping plane</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_array" c:identifier="cogl_matrix_get_array">
-        <doc xml:whitespace="preserve">Casts @matrix to a float array which can be directly passed to OpenGL.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to the float array</doc>
-          <type name="gfloat" c:type="float*"/>
-        </return-value>
-      </method>
-      <method name="get_inverse"
-              c:identifier="cogl_matrix_get_inverse"
-              version="1.2">
-        <doc xml:whitespace="preserve">Gets the inverse transform of a given matrix and uses it to initialize
-a new #CoglMatrix.
-&lt;note&gt;Although the first parameter is annotated as const to indicate
-that the transform it represents isn't modified this function may
-technically save a copy of the inverse transform within the given
-#CoglMatrix so that subsequent requests for the inverse transform may
-avoid costly inversion calculations.&lt;/note&gt;
-for degenerate transformations that can't be inverted (in this case the</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the inverse was successfully calculated or %FALSE</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="inverse"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">The destination for a 4x4 inverse transformation matrix</doc>
-            <type name="Matrix" c:type="CoglMatrix*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="init_from_array"
-              c:identifier="cogl_matrix_init_from_array">
-        <doc xml:whitespace="preserve">Initializes @matrix with the contents of @array</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="array" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A linear array of 16 floats (column-major order)</doc>
-            <type name="gfloat" c:type="float*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="init_identity" c:identifier="cogl_matrix_init_identity">
-        <doc xml:whitespace="preserve">Resets matrix to the identity matrix:
-|[
-.xx=1; .xy=0; .xz=0; .xw=0;
-.yx=0; .yy=1; .yz=0; .yw=0;
-.zx=0; .zy=0; .zz=1; .zw=0;
-.wx=0; .wy=0; .wz=0; .ww=1;
-]|</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="multiply" c:identifier="cogl_matrix_multiply">
-        <doc xml:whitespace="preserve">Multiplies the two supplied matrices together and stores
-the resulting matrix inside @result</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="a" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A 4x4 transformation matrix</doc>
-            <type name="Matrix" c:type="CoglMatrix*"/>
-          </parameter>
-          <parameter name="b" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A 4x4 transformation matrix</doc>
-            <type name="Matrix" c:type="CoglMatrix*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="ortho" c:identifier="cogl_matrix_ortho">
-        <doc xml:whitespace="preserve">Multiplies @matrix by a parallel projection matrix.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="left" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The coordinate for the left clipping plane</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="right" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The coordinate for the right clipping plane</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="bottom" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The coordinate for the bottom clipping plane</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="top" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The coordinate for the top clipping plane</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="z_near" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The coordinate for the near clipping plane (may be negative if the plane is behind the viewer)</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="z_far" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The coordinate for the far clipping plane (may be negative if the plane is behind the viewer)</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="perspective" c:identifier="cogl_matrix_perspective">
-        <doc xml:whitespace="preserve">Multiplies @matrix by the described perspective matrix
-&lt;note&gt;You should be careful not to have to great a @z_far / @z_near ratio
-since that will reduce the effectiveness of depth testing since there wont
-be enough precision to identify the depth of objects near to each
-other.&lt;/note&gt;</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="fov_y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A field of view angle for the Y axis</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="aspect" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The ratio of width to height determining the field of view angle for the x axis.</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="z_near" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The distance to the near clip plane. Never pass 0 and always pass a positive number.</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="z_far" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The distance to the far clip plane. (Should always be positive)</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="rotate" c:identifier="cogl_matrix_rotate">
-        <doc xml:whitespace="preserve">Multiplies @matrix with a rotation matrix that applies a rotation
-of @angle degrees around the specified 3D vector.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="angle" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The angle you want to rotate in degrees</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">X component of your rotation vector</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Y component of your rotation vector</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="z" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Z component of your rotation vector</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="scale" c:identifier="cogl_matrix_scale">
-        <doc xml:whitespace="preserve">Multiplies @matrix with a transform matrix that scales along the X,
-Y and Z axis.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="sx" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The X scale factor</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="sy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The Y scale factor</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="sz" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The Z scale factor</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="transform_point"
-              c:identifier="cogl_matrix_transform_point">
-        <doc xml:whitespace="preserve">Transforms a point whos position is given and returned as four float
-components.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x"
-                     direction="inout"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">The X component of your points position</doc>
-            <type name="gfloat" c:type="float*"/>
-          </parameter>
-          <parameter name="y"
-                     direction="inout"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">The Y component of your points position</doc>
-            <type name="gfloat" c:type="float*"/>
-          </parameter>
-          <parameter name="z"
-                     direction="inout"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">The Z component of your points position</doc>
-            <type name="gfloat" c:type="float*"/>
-          </parameter>
-          <parameter name="w"
-                     direction="inout"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">The W component of your points position</doc>
-            <type name="gfloat" c:type="float*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="translate" c:identifier="cogl_matrix_translate">
-        <doc xml:whitespace="preserve">Multiplies @matrix with a transform matrix that translates along
-the X, Y and Z axis.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The X translation you want to apply</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The Y translation you want to apply</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="z" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The Z translation you want to apply</doc>
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-        </parameters>
-      </method>
-    </record>
-    <record name="Object" c:type="CoglObject" disguised="1">
-      <method name="get_user_data"
-              c:identifier="cogl_object_get_user_data"
-              version="1.4"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Finds the user data previously associated with @object using
-the given @key. If no user data has been associated with @object
-for the given @key this function returns NULL.
-the given @key; or NULL if no associated data is found.</doc>
-        <return-value>
-          <doc xml:whitespace="preserve">The user data previously associated with @object using</doc>
-          <type name="gpointer" c:type="void*"/>
-        </return-value>
-        <parameters>
-          <parameter name="key" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The address of a #CoglUserDataKey which provides a unique value with which to index the private data.</doc>
-            <type name="UserDataKey" c:type="CoglUserDataKey*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_user_data"
-              c:identifier="cogl_object_set_user_data"
-              version="1.4"
-              introspectable="0">
-        <doc xml:whitespace="preserve">Associates some private @user_data with a given #CoglObject. To
-later remove the association call cogl_object_set_user_data() with
-the same @key but NULL for the @user_data.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="key" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The address of a #CoglUserDataKey which provides a unique value with which to index the private data.</doc>
-            <type name="UserDataKey" c:type="CoglUserDataKey*"/>
-          </parameter>
-          <parameter name="user_data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">The data to associate with the given object, or NULL to remove a previous association.</doc>
-            <type name="gpointer" c:type="void*"/>
-          </parameter>
-          <parameter name="destroy" transfer-ownership="none">
-            <doc xml:whitespace="preserve">A #CoglUserDataDestroyCallback to call if the object is destroyed or if the association is removed by later setting NULL data for the same key.</doc>
-            <type name="UserDataDestroyCallback"
-                  c:type="CoglUserDataDestroyCallback"/>
-          </parameter>
-        </parameters>
-      </method>
-    </record>
-    <constant name="PIXEL_FORMAT_24" value="2">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="PIXEL_FORMAT_32" value="3">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="PREMULT_BIT" value="128">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <record name="Path" c:type="CoglPath" disguised="1">
-      <method name="copy" c:identifier="cogl_path_copy" introspectable="0">
-        <doc xml:whitespace="preserve">Returns a new copy of the path in @path. The new path has a
-reference count of 1 so you should unref it with
-cogl_object_unref() if you no longer need it.
-Internally the path will share the data until one of the paths is
-modified so copying paths should be relatively cheap.</doc>
-        <return-value>
-          <doc xml:whitespace="preserve">a copy of the path in @path.</doc>
-          <type name="Path" c:type="CoglPath*"/>
-        </return-value>
-      </method>
-    </record>
-    <enumeration name="PathFillRule"
-                 version="1.4"
-                 glib:type-name="CoglPathFillRule"
-                 glib:get-type="cogl_path_fill_rule_get_type"
-                 c:type="CoglPathFillRule">
-      <doc xml:whitespace="preserve">#CoglPathFillRule is used to determine how a path is filled. There
-are two options - 'non-zero' and 'even-odd'. To work out whether any
-point will be filled imagine drawing an infinetely long line in any
-direction from that point. The number of times and the direction
-that the edges of the path crosses this line determines whether the
-line is filled as described below. Any open sub paths are treated
-as if there was an extra line joining the first point and the last
-point.
-The default fill rule is %COGL_PATH_FILL_RULE_EVEN_ODD. The fill
-rule is attached to the current path so preserving a path with
-cogl_get_path() also preserves the fill rule. Calling
-cogl_path_new() resets the current fill rule to the default.
-&lt;figure id="fill-rule-non-zero"&gt;
-&lt;title&gt;Example of filling various paths using the non-zero rule&lt;/title&gt;
-&lt;graphic fileref="fill-rule-non-zero.png" format="PNG"/&gt;
-&lt;/figure&gt;
-&lt;figure id="fill-rule-even-odd"&gt;
-&lt;title&gt;Example of filling various paths using the even-odd rule&lt;/title&gt;
-&lt;graphic fileref="fill-rule-even-odd.png" format="PNG"/&gt;
-&lt;/figure&gt;</doc>
-      <member name="non_zero"
-              value="0"
-              c:identifier="COGL_PATH_FILL_RULE_NON_ZERO"
-              glib:nick="non-zero"/>
-      <member name="even_odd"
-              value="1"
-              c:identifier="COGL_PATH_FILL_RULE_EVEN_ODD"
-              glib:nick="even-odd"/>
-    </enumeration>
-    <record name="PixelArray" c:type="CoglPixelArray" disguised="1">
-    </record>
-    <enumeration name="PixelFormat"
-                 version="0.8"
-                 glib:type-name="CoglPixelFormat"
-                 glib:get-type="cogl_pixel_format_get_type"
-                 c:type="CoglPixelFormat">
-      <doc xml:whitespace="preserve">Pixel formats used by COGL. For the formats with a byte per
-component, the order of the components specify the order in
-increasing memory addresses. So for example
-%COGL_PIXEL_FORMAT_RGB_888 would have the red component in the
-lowest address, green in the next address and blue after that
-regardless of the endinanness of the system.
-For the 16-bit formats the component order specifies the order
-within a 16-bit number from most significant bit to least
-significant. So for %COGL_PIXEL_FORMAT_RGB_565, the red component
-would be in bits 11-15, the green component would be in 6-11 and
-the blue component would be in 1-5. Therefore the order in memory
-depends on the endianness of the system.
-When uploading a texture %COGL_PIXEL_FORMAT_ANY can be used as the
-internal format. Cogl will try to pick the best format to use
-internally and convert the texture data if necessary.</doc>
-      <member name="any"
-              value="0"
-              c:identifier="COGL_PIXEL_FORMAT_ANY"
-              glib:nick="any"/>
-      <member name="a_8"
-              value="17"
-              c:identifier="COGL_PIXEL_FORMAT_A_8"
-              glib:nick="a-8"/>
-      <member name="rgb_565"
-              value="4"
-              c:identifier="COGL_PIXEL_FORMAT_RGB_565"
-              glib:nick="rgb-565"/>
-      <member name="rgba_4444"
-              value="21"
-              c:identifier="COGL_PIXEL_FORMAT_RGBA_4444"
-              glib:nick="rgba-4444"/>
-      <member name="rgba_5551"
-              value="22"
-              c:identifier="COGL_PIXEL_FORMAT_RGBA_5551"
-              glib:nick="rgba-5551"/>
-      <member name="yuv"
-              value="7"
-              c:identifier="COGL_PIXEL_FORMAT_YUV"
-              glib:nick="yuv"/>
-      <member name="g_8"
-              value="8"
-              c:identifier="COGL_PIXEL_FORMAT_G_8"
-              glib:nick="g-8"/>
-      <member name="rgb_888"
-              value="2"
-              c:identifier="COGL_PIXEL_FORMAT_RGB_888"
-              glib:nick="rgb-888"/>
-      <member name="bgr_888"
-              value="34"
-              c:identifier="COGL_PIXEL_FORMAT_BGR_888"
-              glib:nick="bgr-888"/>
-      <member name="rgba_8888"
-              value="19"
-              c:identifier="COGL_PIXEL_FORMAT_RGBA_8888"
-              glib:nick="rgba-8888"/>
-      <member name="bgra_8888"
-              value="51"
-              c:identifier="COGL_PIXEL_FORMAT_BGRA_8888"
-              glib:nick="bgra-8888"/>
-      <member name="argb_8888"
-              value="83"
-              c:identifier="COGL_PIXEL_FORMAT_ARGB_8888"
-              glib:nick="argb-8888"/>
-      <member name="abgr_8888"
-              value="115"
-              c:identifier="COGL_PIXEL_FORMAT_ABGR_8888"
-              glib:nick="abgr-8888"/>
-      <member name="rgba_8888_pre"
-              value="147"
-              c:identifier="COGL_PIXEL_FORMAT_RGBA_8888_PRE"
-              glib:nick="rgba-8888-pre"/>
-      <member name="bgra_8888_pre"
-              value="179"
-              c:identifier="COGL_PIXEL_FORMAT_BGRA_8888_PRE"
-              glib:nick="bgra-8888-pre"/>
-      <member name="argb_8888_pre"
-              value="211"
-              c:identifier="COGL_PIXEL_FORMAT_ARGB_8888_PRE"
-              glib:nick="argb-8888-pre"/>
-      <member name="abgr_8888_pre"
-              value="243"
-              c:identifier="COGL_PIXEL_FORMAT_ABGR_8888_PRE"
-              glib:nick="abgr-8888-pre"/>
-      <member name="rgba_4444_pre"
-              value="149"
-              c:identifier="COGL_PIXEL_FORMAT_RGBA_4444_PRE"
-              glib:nick="rgba-4444-pre"/>
-      <member name="rgba_5551_pre"
-              value="150"
-              c:identifier="COGL_PIXEL_FORMAT_RGBA_5551_PRE"
-              glib:nick="rgba-5551-pre"/>
-    </enumeration>
-    <constant name="RADIANS_TO_DEGREES" value="3754936">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <bitfield name="ReadPixelsFlags"
-              version="1.0"
-              glib:type-name="CoglReadPixelsFlags"
-              glib:get-type="cogl_read_pixels_flags_get_type"
-              c:type="CoglReadPixelsFlags">
-      <doc xml:whitespace="preserve">Flags for cogl_read_pixels()</doc>
-      <member name="color_buffer"
-              value="1"
-              c:identifier="COGL_READ_PIXELS_COLOR_BUFFER"
-              glib:nick="color-buffer"/>
-    </bitfield>
-    <constant name="SQRTI_ARG_10_PERCENT" value="5590">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="SQRTI_ARG_5_PERCENT" value="210">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="SQRTI_ARG_MAX" value="4194303">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <enumeration name="ShaderType"
-                 version="1.0"
-                 glib:type-name="CoglShaderType"
-                 glib:get-type="cogl_shader_type_get_type"
-                 c:type="CoglShaderType">
-      <doc xml:whitespace="preserve">Types of shaders</doc>
-      <member name="vertex"
-              value="0"
-              c:identifier="COGL_SHADER_TYPE_VERTEX"
-              glib:nick="vertex"/>
-      <member name="fragment"
-              value="1"
-              c:identifier="COGL_SHADER_TYPE_FRAGMENT"
-              glib:nick="fragment"/>
-    </enumeration>
-    <constant name="TEXTURE_MAX_WASTE" value="127">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <bitfield name="TextureFlags"
-              version="1.0"
-              glib:type-name="CoglTextureFlags"
-              glib:get-type="cogl_texture_flags_get_type"
-              c:type="CoglTextureFlags">
-      <doc xml:whitespace="preserve">Flags to pass to the cogl_texture_new_* family of functions.</doc>
-      <member name="none"
-              value="0"
-              c:identifier="COGL_TEXTURE_NONE"
-              glib:nick="none"/>
-      <member name="no_auto_mipmap"
-              value="1"
-              c:identifier="COGL_TEXTURE_NO_AUTO_MIPMAP"
-              glib:nick="no-auto-mipmap"/>
-      <member name="no_slicing"
-              value="2"
-              c:identifier="COGL_TEXTURE_NO_SLICING"
-              glib:nick="no-slicing"/>
-      <member name="no_atlas"
-              value="4"
-              c:identifier="COGL_TEXTURE_NO_ATLAS"
-              glib:nick="no-atlas"/>
-    </bitfield>
-    <enumeration name="TexturePixmapX11ReportLevel"
-                 glib:type-name="CoglTexturePixmapX11ReportLevel"
-                 glib:get-type="cogl_texture_pixmap_x11_report_level_get_type"
-                 c:type="CoglTexturePixmapX11ReportLevel">
-      <member name="raw_rectangles"
-              value="0"
-              c:identifier="COGL_TEXTURE_PIXMAP_X11_DAMAGE_RAW_RECTANGLES"
-              glib:nick="raw-rectangles"/>
-      <member name="delta_rectangles"
-              value="1"
-              c:identifier="COGL_TEXTURE_PIXMAP_X11_DAMAGE_DELTA_RECTANGLES"
-              glib:nick="delta-rectangles"/>
-      <member name="bounding_box"
-              value="2"
-              c:identifier="COGL_TEXTURE_PIXMAP_X11_DAMAGE_BOUNDING_BOX"
-              glib:nick="bounding-box"/>
-      <member name="non_empty"
-              value="3"
-              c:identifier="COGL_TEXTURE_PIXMAP_X11_DAMAGE_NON_EMPTY"
-              glib:nick="non-empty"/>
-    </enumeration>
-    <record name="TextureVertex" c:type="CoglTextureVertex">
-      <doc xml:whitespace="preserve">Used to specify vertex information when calling cogl_polygon()</doc>
-      <field name="x" writable="1">
-        <type name="gfloat" c:type="float"/>
-      </field>
-      <field name="y" writable="1">
-        <type name="gfloat" c:type="float"/>
-      </field>
-      <field name="z" writable="1">
-        <type name="gfloat" c:type="float"/>
-      </field>
-      <field name="tx" writable="1">
-        <type name="gfloat" c:type="float"/>
-      </field>
-      <field name="ty" writable="1">
-        <type name="gfloat" c:type="float"/>
-      </field>
-      <field name="color" writable="1">
-        <type name="Color" c:type="CoglColor"/>
-      </field>
-    </record>
-    <constant name="UNORDERED_MASK" value="15">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <constant name="UNPREMULT_MASK" value="127">
-      <type name="gint" c:type="gint"/>
-    </constant>
-    <callback name="UserDataDestroyCallback"
-              c:type="CoglUserDataDestroyCallback"
-              version="1.4">
-      <doc xml:whitespace="preserve">When associating private data with a #CoglObject a callback can be
-given which will be called either if the object is destroyed or if
-cogl_object_set_user_data() is called with NULL user_data for the
-same key.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="user_data" transfer-ownership="none" closure="0">
-          <doc xml:whitespace="preserve">The data whos association with a #CoglObject has been destoyed.</doc>
-          <type name="gpointer" c:type="void*"/>
-        </parameter>
-      </parameters>
-    </callback>
-    <record name="UserDataKey" c:type="CoglUserDataKey" version="1.4">
-      <doc xml:whitespace="preserve">A #CoglUserDataKey is used to declare a key for attaching data to a
-#CoglObject using cogl_object_set_user_data. The typedef only exists as a
-formality to make code self documenting since only the unique address of a
-#CoglUserDataKey is used.
-Typically you would declare a static #CoglUserDataKey and set private data
-on an object something like this:
-|[
-static CoglUserDataKey path_private_key;
-static void
-destroy_path_private_cb (void *data)
-{
-g_free (data);
-}
-static void
-my_path_set_data (CoglPath *path, void *data)
-{
-cogl_object_set_user_data (COGL_OBJECT (path),
-&amp;private_key,
-data,
-destroy_path_private_cb);
-}
-]|</doc>
-      <field name="unused" writable="1">
-        <type name="gint" c:type="int"/>
-      </field>
-    </record>
-    <record name="Vector3" c:type="CoglVector3">
-      <field name="x" writable="1">
-        <type name="gfloat" c:type="float"/>
-      </field>
-      <field name="y" writable="1">
-        <type name="gfloat" c:type="float"/>
-      </field>
-      <field name="z" writable="1">
-        <type name="gfloat" c:type="float"/>
-      </field>
-      <method name="add_EXP" c:identifier="cogl_vector3_add_EXP">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="a" transfer-ownership="none">
-            <type name="Vector3" c:type="CoglVector3*"/>
-          </parameter>
-          <parameter name="b" transfer-ownership="none">
-            <type name="Vector3" c:type="CoglVector3*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="copy_EXP"
-              c:identifier="cogl_vector3_copy_EXP"
-              introspectable="0">
-        <return-value>
-          <type name="Vector3" c:type="CoglVector3*"/>
-        </return-value>
-      </method>
-      <method name="cross_product_EXP"
-              c:identifier="cogl_vector3_cross_product_EXP">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="u" transfer-ownership="none">
-            <type name="Vector3" c:type="CoglVector3*"/>
-          </parameter>
-          <parameter name="v" transfer-ownership="none">
-            <type name="Vector3" c:type="CoglVector3*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="distance_EXP" c:identifier="cogl_vector3_distance_EXP">
-        <return-value transfer-ownership="none">
-          <type name="gfloat" c:type="float"/>
-        </return-value>
-        <parameters>
-          <parameter name="b" transfer-ownership="none">
-            <type name="Vector3" c:type="CoglVector3*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="divide_scalar_EXP"
-              c:identifier="cogl_vector3_divide_scalar_EXP">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="scalar" transfer-ownership="none">
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="dot_product_EXP"
-              c:identifier="cogl_vector3_dot_product_EXP">
-        <return-value transfer-ownership="none">
-          <type name="gfloat" c:type="float"/>
-        </return-value>
-        <parameters>
-          <parameter name="b" transfer-ownership="none">
-            <type name="Vector3" c:type="CoglVector3*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="equal_with_epsilon_EXP"
-              c:identifier="cogl_vector3_equal_with_epsilon_EXP">
-        <return-value transfer-ownership="none">
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="vector1" transfer-ownership="none">
-            <type name="Vector3" c:type="CoglVector3*"/>
-          </parameter>
-          <parameter name="epsilon" transfer-ownership="none">
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="free_EXP" c:identifier="cogl_vector3_free_EXP">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="init_EXP" c:identifier="cogl_vector3_init_EXP">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x" transfer-ownership="none">
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="y" transfer-ownership="none">
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-          <parameter name="z" transfer-ownership="none">
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="init_zero_EXP" c:identifier="cogl_vector3_init_zero_EXP">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="invert_EXP" c:identifier="cogl_vector3_invert_EXP">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="magnitude_EXP" c:identifier="cogl_vector3_magnitude_EXP">
-        <return-value transfer-ownership="none">
-          <type name="gfloat" c:type="float"/>
-        </return-value>
-      </method>
-      <method name="multiply_scalar_EXP"
-              c:identifier="cogl_vector3_multiply_scalar_EXP">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="scalar" transfer-ownership="none">
-            <type name="gfloat" c:type="float"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="normalize_EXP" c:identifier="cogl_vector3_normalize_EXP">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="subtract_EXP" c:identifier="cogl_vector3_subtract_EXP">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="a" transfer-ownership="none">
-            <type name="Vector3" c:type="CoglVector3*"/>
-          </parameter>
-          <parameter name="b" transfer-ownership="none">
-            <type name="Vector3" c:type="CoglVector3*"/>
-          </parameter>
-        </parameters>
-      </method>
-    </record>
-    <enumeration name="VerticesMode"
-                 version="1.0"
-                 glib:type-name="CoglVerticesMode"
-                 glib:get-type="cogl_vertices_mode_get_type"
-                 c:type="CoglVerticesMode">
-      <doc xml:whitespace="preserve">How vertices passed to cogl_vertex_buffer_draw() and
-cogl_vertex_buffer_draw_elements() should be interpreted</doc>
-      <member name="points"
-              value="0"
-              c:identifier="COGL_VERTICES_MODE_POINTS"
-              glib:nick="points"/>
-      <member name="line_strip"
-              value="3"
-              c:identifier="COGL_VERTICES_MODE_LINE_STRIP"
-              glib:nick="line-strip"/>
-      <member name="line_loop"
-              value="2"
-              c:identifier="COGL_VERTICES_MODE_LINE_LOOP"
-              glib:nick="line-loop"/>
-      <member name="lines"
-              value="1"
-              c:identifier="COGL_VERTICES_MODE_LINES"
-              glib:nick="lines"/>
-      <member name="triangle_strip"
-              value="5"
-              c:identifier="COGL_VERTICES_MODE_TRIANGLE_STRIP"
-              glib:nick="triangle-strip"/>
-      <member name="triangle_fan"
-              value="6"
-              c:identifier="COGL_VERTICES_MODE_TRIANGLE_FAN"
-              glib:nick="triangle-fan"/>
-      <member name="triangles"
-              value="4"
-              c:identifier="COGL_VERTICES_MODE_TRIANGLES"
-              glib:nick="triangles"/>
-    </enumeration>
-    <function name="angle_cos" c:identifier="cogl_angle_cos" version="1.0">
-      <doc xml:whitespace="preserve">Computes the cosine of @angle</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the cosine of the passed angle</doc>
-        <type name="Fixed" c:type="CoglFixed"/>
-      </return-value>
-      <parameters>
-        <parameter name="angle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">an angle expressed using #CoglAngle</doc>
-          <type name="Angle" c:type="CoglAngle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="angle_sin" c:identifier="cogl_angle_sin" version="1.0">
-      <doc xml:whitespace="preserve">Computes the sine of @angle</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the sine of the passed angle</doc>
-        <type name="Fixed" c:type="CoglFixed"/>
-      </return-value>
-      <parameters>
-        <parameter name="angle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">an angle expressed using #CoglAngle</doc>
-          <type name="Angle" c:type="CoglAngle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="angle_tan" c:identifier="cogl_angle_tan" version="1.0">
-      <doc xml:whitespace="preserve">Computes the tangent of @angle</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the tangent of the passed angle</doc>
-        <type name="Fixed" c:type="CoglFixed"/>
-      </return-value>
-      <parameters>
-        <parameter name="angle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">an angle expressed using #CoglAngle</doc>
-          <type name="Angle" c:type="CoglAngle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="begin_gl" c:identifier="cogl_begin_gl" version="1.0">
-      <doc xml:whitespace="preserve">We do not advise nor reliably support the interleaving of raw GL drawing and
-Cogl drawing functions, but if you insist, cogl_begin_gl() and cogl_end_gl()
-provide a simple mechanism that may at least give you a fighting chance of
-succeeding.
-through the modification of GL state; that will never be reliably supported,
-but if you are trying to do something like:
-|[
-{
-- setup some OpenGL state.
-- draw using OpenGL (e.g. glDrawArrays() )
-- reset modified OpenGL state.
-- continue using Cogl to draw
-}
-]|
-You should surround blocks of drawing using raw GL with cogl_begin_gl()
-and cogl_end_gl():
-|[
-{
-cogl_begin_gl ();
-- setup some OpenGL state.
-- draw using OpenGL (e.g. glDrawArrays() )
-- reset modified OpenGL state.
-cogl_end_gl ();
-- continue using Cogl to draw
-}
-]|
-Don't ever try and do:
-|[
-{
-- setup some OpenGL state.
-- use Cogl to draw
-- reset modified OpenGL state.
-}
-]|
-When the internals of Cogl evolves, this is very liable to break.
-This function will flush all batched primitives, and subsequently flush
-all internal Cogl state to OpenGL as if it were going to draw something
-itself.
-The result is that the OpenGL modelview matrix will be setup; the state
-corresponding to the current source material will be set up and other world
-state such as backface culling, depth and fogging enabledness will be sent
-to OpenGL.
-&lt;note&gt;No special material state is flushed, so if you want Cogl to setup a
-simplified material state it is your responsibility to set a simple source
-material before calling cogl_begin_gl(). E.g. by calling
-cogl_set_source_color4ub().&lt;/note&gt;
-&lt;note&gt;It is your responsibility to restore any OpenGL state that you modify
-to how it was after calling cogl_begin_gl() if you don't do this then the
-result of further Cogl calls is undefined.&lt;/note&gt;
-&lt;note&gt;You can not nest begin/end blocks.&lt;/note&gt;
-Again we would like to stress, we do not advise the use of this API and if
-possible we would prefer to improve Cogl than have developers require raw
-OpenGL.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="bitmap_error_quark" c:identifier="cogl_bitmap_error_quark">
-      <return-value transfer-ownership="none">
-        <type name="GLib.Quark" c:type="GQuark"/>
-      </return-value>
-    </function>
-    <function name="bitmap_get_size_from_file"
-              c:identifier="cogl_bitmap_get_size_from_file"
-              version="1.0">
-      <doc xml:whitespace="preserve">Parses an image file enough to extract the width and height
-of the bitmap.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the image was successfully parsed</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="filename" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the file to check</doc>
-          <type name="utf8" c:type="char*"/>
-        </parameter>
-        <parameter name="width"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">return location for the bitmap width, or %NULL</doc>
-          <type name="gint" c:type="int*"/>
-        </parameter>
-        <parameter name="height"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">return location for the bitmap height, or %NULL</doc>
-          <type name="gint" c:type="int*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="bitmap_new_from_file"
-              c:identifier="cogl_bitmap_new_from_file"
-              version="1.0"
-              introspectable="0"
-              throws="1">
-      <doc xml:whitespace="preserve">Loads an image file from disk. This function can be safely called from
-within a thread.
-%NULL if loading the image failed.</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">a #CoglBitmap to the new loaded image data, or</doc>
-        <type name="Bitmap" c:type="CoglBitmap*"/>
-      </return-value>
-      <parameters>
-        <parameter name="filename" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the file to load.</doc>
-          <type name="utf8" c:type="char*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="blend_string_error_quark"
-              c:identifier="cogl_blend_string_error_quark">
-      <return-value transfer-ownership="none">
-        <type name="GLib.Quark" c:type="GQuark"/>
-      </return-value>
-    </function>
-    <function name="check_extension"
-              c:identifier="cogl_check_extension"
-              deprecated="OpenGL is an implementation detail for Cogl and so it&apos;s"
-              deprecated-version="1.2">
-      <doc xml:whitespace="preserve">Check whether @name occurs in list of extensions in @ext.
-not appropriate to expose OpenGL extensions through the Cogl API. This
-function can be replaced by the following equivalent code:
-|[
-]|</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the extension occurs in the list, %FALSE otherwise.</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="name" transfer-ownership="none">
-          <doc xml:whitespace="preserve">extension to check for</doc>
-          <type name="utf8" c:type="char*"/>
-        </parameter>
-        <parameter name="ext" transfer-ownership="none">
-          <doc xml:whitespace="preserve">list of extensions</doc>
-          <type name="utf8" c:type="char*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="clear" c:identifier="cogl_clear">
-      <doc xml:whitespace="preserve">Clears all the auxiliary buffers identified in the @buffers mask, and if
-that includes the color buffer then the specified @color is used.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="color" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Background color to clear to</doc>
-          <type name="Color" c:type="CoglColor*"/>
-        </parameter>
-        <parameter name="buffers" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A mask of #CoglBufferBit&lt;!-- --&gt;'s identifying which auxiliary buffers to clear</doc>
-          <type name="gulong" c:type="unsigned long"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="clip_ensure"
-              c:identifier="cogl_clip_ensure"
-              version="1.0"
-              deprecated="Calling this function has no effect"
-              deprecated-version="1.2">
-      <doc xml:whitespace="preserve">Ensures that the current clipping region has been set in GL. This
-will automatically be called before any Cogl primitives but it
-maybe be neccessary to call if you are using raw GL calls with
-clipping.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="clip_pop" c:identifier="cogl_clip_pop">
-      <doc xml:whitespace="preserve">Reverts the clipping region to the state before the last call to
-cogl_clip_push().</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="clip_push"
-              c:identifier="cogl_clip_push"
-              deprecated="The x, y, width, height arguments are inconsistent"
-              deprecated-version="1.2">
-      <doc xml:whitespace="preserve">Specifies a rectangular clipping area for all subsequent drawing
-operations. Any drawing commands that extend outside the rectangle
-will be clipped so that only the portion inside the rectangle will
-be displayed. The rectangle dimensions are transformed by the
-current model-view matrix.
-The rectangle is intersected with the current clip region. To undo
-the effect of this function, call cogl_clip_pop().
-with other API that specify rectangles in model space, and when used
-with a coordinate space that puts the origin at the center and y+
-extending up, it's awkward to use. Please use cogl_clip_push_rectangle()
-instead</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="x_offset" transfer-ownership="none">
-          <doc xml:whitespace="preserve">left edge of the clip rectangle</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y_offset" transfer-ownership="none">
-          <doc xml:whitespace="preserve">top edge of the clip rectangle</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="width" transfer-ownership="none">
-          <doc xml:whitespace="preserve">width of the clip rectangle</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="height" transfer-ownership="none">
-          <doc xml:whitespace="preserve">height of the clip rectangle</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="clip_push_from_path"
-              c:identifier="cogl_clip_push_from_path"
-              version="1.0">
-      <doc xml:whitespace="preserve">Sets a new clipping area using the current path. The current path
-is then cleared. The clipping area is intersected with the previous
-clipping area. To restore the previous clipping area, call
-cogl_clip_pop().</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="clip_push_from_path_preserve"
-              c:identifier="cogl_clip_push_from_path_preserve"
-              version="1.0">
-      <doc xml:whitespace="preserve">Sets a new clipping area using the current path. The current path
-is then cleared. The clipping area is intersected with the previous
-clipping area. To restore the previous clipping area, call
-cogl_clip_pop().</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="clip_push_rectangle"
-              c:identifier="cogl_clip_push_rectangle"
-              version="1.2">
-      <doc xml:whitespace="preserve">Specifies a rectangular clipping area for all subsequent drawing
-operations. Any drawing commands that extend outside the rectangle
-will be clipped so that only the portion inside the rectangle will
-be displayed. The rectangle dimensions are transformed by the
-current model-view matrix.
-The rectangle is intersected with the current clip region. To undo
-the effect of this function, call cogl_clip_pop().</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="x0" transfer-ownership="none">
-          <doc xml:whitespace="preserve">x coordinate for top left corner of the clip rectangle</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y0" transfer-ownership="none">
-          <doc xml:whitespace="preserve">y coordinate for top left corner of the clip rectangle</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="x1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">x coordinate for bottom right corner of the clip rectangle</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">y coordinate for bottom right corner of the clip rectangle</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="clip_push_window_rect"
-              c:identifier="cogl_clip_push_window_rect"
-              deprecated="Use cogl_clip_push_window_rectangle() instead"
-              deprecated-version="1.2">
-      <doc xml:whitespace="preserve">Specifies a rectangular clipping area for all subsequent drawing
-operations. Any drawing commands that extend outside the rectangle
-will be clipped so that only the portion inside the rectangle will
-be displayed. The rectangle dimensions are not transformed by the
-current model-view matrix.
-The rectangle is intersected with the current clip region. To undo
-the effect of this function, call cogl_clip_pop().</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="x_offset" transfer-ownership="none">
-          <doc xml:whitespace="preserve">left edge of the clip rectangle in window coordinates</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y_offset" transfer-ownership="none">
-          <doc xml:whitespace="preserve">top edge of the clip rectangle in window coordinates</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="width" transfer-ownership="none">
-          <doc xml:whitespace="preserve">width of the clip rectangle</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="height" transfer-ownership="none">
-          <doc xml:whitespace="preserve">height of the clip rectangle</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="clip_push_window_rectangle"
-              c:identifier="cogl_clip_push_window_rectangle"
-              version="1.2">
-      <doc xml:whitespace="preserve">Specifies a rectangular clipping area for all subsequent drawing
-operations. Any drawing commands that extend outside the rectangle
-will be clipped so that only the portion inside the rectangle will
-be displayed. The rectangle dimensions are not transformed by the
-current model-view matrix.
-The rectangle is intersected with the current clip region. To undo
-the effect of this function, call cogl_clip_pop().</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="x_offset" transfer-ownership="none">
-          <doc xml:whitespace="preserve">left edge of the clip rectangle in window coordinates</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="y_offset" transfer-ownership="none">
-          <doc xml:whitespace="preserve">top edge of the clip rectangle in window coordinates</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="width" transfer-ownership="none">
-          <doc xml:whitespace="preserve">width of the clip rectangle</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="height" transfer-ownership="none">
-          <doc xml:whitespace="preserve">height of the clip rectangle</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="clip_stack_restore"
-              c:identifier="cogl_clip_stack_restore"
-              version="0.8.2"
-              deprecated="This was originally added to allow us to restore"
-              deprecated-version="1.2">
-      <doc xml:whitespace="preserve">Restore the state of the clipping stack that was previously saved
-by cogl_clip_stack_save().
-the clip stack when switching back from an offscreen framebuffer,
-but it's not necessary anymore given that framebuffers now own
-separate clip stacks which will be automatically switched between
-when a new buffer is set. Calling this function has no effect</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="clip_stack_save"
-              c:identifier="cogl_clip_stack_save"
-              version="0.8.2"
-              deprecated="This was originally added to allow us to save the"
-              deprecated-version="1.2">
-      <doc xml:whitespace="preserve">Save the entire state of the clipping stack and then clear all
-clipping. The previous state can be returned to with
-cogl_clip_stack_restore(). Each call to cogl_clip_push() after this
-must be matched by a call to cogl_clip_pop() before calling
-cogl_clip_stack_restore().
-clip stack when switching to an offscreen framebuffer, but it's
-not necessary anymore given that framebuffers now own separate
-clip stacks which will be automatically switched between when a
-new buffer is set. Calling this function has no effect</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="color_equal" c:identifier="cogl_color_equal" version="1.0">
-      <doc xml:whitespace="preserve">Compares two #CoglColor&lt;!-- --&gt;s and checks if they are the same.
-This function can be passed to g_hash_table_new() as the @key_equal_func
-parameter, when using #CoglColor&lt;!-- --&gt;s as keys in a #GHashTable.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the two colors are the same.</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="v1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglColor</doc>
-          <type name="gpointer" c:type="gconstpointer"/>
-        </parameter>
-        <parameter name="v2" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglColor</doc>
-          <type name="gpointer" c:type="gconstpointer"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="color_new"
-              c:identifier="cogl_color_new"
-              version="1.0"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Creates a new (empty) color
-to free the allocated resources</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">a newly-allocated #CoglColor. Use cogl_color_free()</doc>
-        <type name="Color" c:type="CoglColor*"/>
-      </return-value>
-    </function>
-    <function name="create_program"
-              c:identifier="cogl_create_program"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Create a new cogl program object that can be used to replace parts of the GL
-rendering pipeline with custom code.</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">a new cogl program.</doc>
-        <type name="Handle" c:type="CoglHandle"/>
-      </return-value>
-    </function>
-    <function name="create_shader"
-              c:identifier="cogl_create_shader"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Create a new shader handle, use #cogl_shader_source to set the source code
-to be used on it.</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">a new shader handle.</doc>
-        <type name="Handle" c:type="CoglHandle"/>
-      </return-value>
-      <parameters>
-        <parameter name="shader_type" transfer-ownership="none">
-          <doc xml:whitespace="preserve">COGL_SHADER_TYPE_VERTEX or COGL_SHADER_TYPE_FRAGMENT.</doc>
-          <type name="ShaderType" c:type="CoglShaderType"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="disable_fog" c:identifier="cogl_disable_fog">
-      <doc xml:whitespace="preserve">This function disables fogging, so primitives drawn afterwards will not be
-blended with any previously set fog color.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="double_to_fixed" c:identifier="cogl_double_to_fixed">
-      <return-value transfer-ownership="none">
-        <type name="Fixed" c:type="CoglFixed"/>
-      </return-value>
-      <parameters>
-        <parameter name="value" transfer-ownership="none">
-          <type name="gdouble" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="double_to_int" c:identifier="cogl_double_to_int">
-      <return-value transfer-ownership="none">
-        <type name="gint" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="value" transfer-ownership="none">
-          <type name="gdouble" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="double_to_uint" c:identifier="cogl_double_to_uint">
-      <return-value transfer-ownership="none">
-        <type name="guint" c:type="unsigned int"/>
-      </return-value>
-      <parameters>
-        <parameter name="value" transfer-ownership="none">
-          <type name="gdouble" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="end_gl" c:identifier="cogl_end_gl" version="1.0">
-      <doc xml:whitespace="preserve">This is the counterpart to cogl_begin_gl() used to delimit blocks of drawing
-code using raw OpenGL. Please refer to cogl_begin_gl() for full details.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="features_available" c:identifier="cogl_features_available">
-      <doc xml:whitespace="preserve">Checks whether the given COGL features are available. Multiple
-features can be checked for by or-ing them together with the '|'
-operator. %TRUE is only returned if all of the requested features
-are available.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the features are available, %FALSE otherwise.</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="features" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A bitmask of features to check for</doc>
-          <type name="FeatureFlags" c:type="CoglFeatureFlags"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="fixed_atan" c:identifier="cogl_fixed_atan" version="1.0">
-      <doc xml:whitespace="preserve">Computes the arc tangent of @a.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the arc tangent of the passed value, in fixed point notation</doc>
-        <type name="Fixed" c:type="CoglFixed"/>
-      </return-value>
-      <parameters>
-        <parameter name="a" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglFixed number</doc>
-          <type name="Fixed" c:type="CoglFixed"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="fixed_atan2" c:identifier="cogl_fixed_atan2" version="1.0">
-      <doc xml:whitespace="preserve">Computes the arc tangent of @a / @b but uses the sign of both
-arguments to return the angle in right quadrant.
-notation</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the arc tangent of the passed fraction, in fixed point</doc>
-        <type name="Fixed" c:type="CoglFixed"/>
-      </return-value>
-      <parameters>
-        <parameter name="a" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the numerator as a #CoglFixed number</doc>
-          <type name="Fixed" c:type="CoglFixed"/>
-        </parameter>
-        <parameter name="b" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the denominator as a #CoglFixed number</doc>
-          <type name="Fixed" c:type="CoglFixed"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="fixed_cos" c:identifier="cogl_fixed_cos" version="1.0">
-      <doc xml:whitespace="preserve">Computes the cosine of @angle.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the cosine of the passed angle, in fixed point notation</doc>
-        <type name="Fixed" c:type="CoglFixed"/>
-      </return-value>
-      <parameters>
-        <parameter name="angle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglFixed number</doc>
-          <type name="Fixed" c:type="CoglFixed"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="fixed_div" c:identifier="cogl_fixed_div">
-      <return-value transfer-ownership="none">
-        <type name="Fixed" c:type="CoglFixed"/>
-      </return-value>
-      <parameters>
-        <parameter name="a" transfer-ownership="none">
-          <type name="Fixed" c:type="CoglFixed"/>
-        </parameter>
-        <parameter name="b" transfer-ownership="none">
-          <type name="Fixed" c:type="CoglFixed"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="fixed_get_type" c:identifier="cogl_fixed_get_type">
-      <return-value transfer-ownership="none">
-        <type name="GType" c:type="GType"/>
-      </return-value>
-    </function>
-    <function name="fixed_log2" c:identifier="cogl_fixed_log2" version="1.0">
-      <doc xml:whitespace="preserve">Calculates base 2 logarithm.
-This function is some 2.5 times faster on x86, and over 12 times faster on
-fpu-less arm, than using libc log().</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">base 2 logarithm.</doc>
-        <type name="Fixed" c:type="CoglFixed"/>
-      </return-value>
-      <parameters>
-        <parameter name="x" transfer-ownership="none">
-          <doc xml:whitespace="preserve">value to calculate base 2 logarithm from</doc>
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="fixed_mul" c:identifier="cogl_fixed_mul">
-      <return-value transfer-ownership="none">
-        <type name="Fixed" c:type="CoglFixed"/>
-      </return-value>
-      <parameters>
-        <parameter name="a" transfer-ownership="none">
-          <type name="Fixed" c:type="CoglFixed"/>
-        </parameter>
-        <parameter name="b" transfer-ownership="none">
-          <type name="Fixed" c:type="CoglFixed"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="fixed_mul_div" c:identifier="cogl_fixed_mul_div">
-      <return-value transfer-ownership="none">
-        <type name="Fixed" c:type="CoglFixed"/>
-      </return-value>
-      <parameters>
-        <parameter name="a" transfer-ownership="none">
-          <type name="Fixed" c:type="CoglFixed"/>
-        </parameter>
-        <parameter name="b" transfer-ownership="none">
-          <type name="Fixed" c:type="CoglFixed"/>
-        </parameter>
-        <parameter name="c" transfer-ownership="none">
-          <type name="Fixed" c:type="CoglFixed"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="fixed_pow" c:identifier="cogl_fixed_pow" version="1.0">
-      <doc xml:whitespace="preserve">Calculates @x to the @y power.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the power of @x to the @y</doc>
-        <type name="guint" c:type="unsigned int"/>
-      </return-value>
-      <parameters>
-        <parameter name="x" transfer-ownership="none">
-          <doc xml:whitespace="preserve">base</doc>
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="y" transfer-ownership="none">
-          <doc xml:whitespace="preserve">#CoglFixed exponent</doc>
-          <type name="Fixed" c:type="CoglFixed"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="fixed_pow2" c:identifier="cogl_fixed_pow2" version="1.0">
-      <doc xml:whitespace="preserve">Calculates 2 to the @x power.
-This function is around 11 times faster on x86, and around 22 times faster
-on fpu-less arm than libc pow(2, x).</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the power of 2 to the passed value</doc>
-        <type name="guint" c:type="unsigned int"/>
-      </return-value>
-      <parameters>
-        <parameter name="x" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglFixed number</doc>
-          <type name="Fixed" c:type="CoglFixed"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="fixed_sin" c:identifier="cogl_fixed_sin" version="1.0">
-      <doc xml:whitespace="preserve">Computes the sine of @angle.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the sine of the passed angle, in fixed point notation</doc>
-        <type name="Fixed" c:type="CoglFixed"/>
-      </return-value>
-      <parameters>
-        <parameter name="angle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglFixed number</doc>
-          <type name="Fixed" c:type="CoglFixed"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="fixed_sqrt" c:identifier="cogl_fixed_sqrt" version="1.0">
-      <doc xml:whitespace="preserve">Computes the square root of @x.
-notation</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the square root of the passed value, in floating point</doc>
-        <type name="Fixed" c:type="CoglFixed"/>
-      </return-value>
-      <parameters>
-        <parameter name="x" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglFixed number</doc>
-          <type name="Fixed" c:type="CoglFixed"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="fixed_tan" c:identifier="cogl_fixed_tan" version="1.0">
-      <doc xml:whitespace="preserve">Computes the tangent of @angle.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the tangent of the passed angle, in fixed point notation</doc>
-        <type name="Fixed" c:type="CoglFixed"/>
-      </return-value>
-      <parameters>
-        <parameter name="angle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglFixed number</doc>
-          <type name="Fixed" c:type="CoglFixed"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="flush" c:identifier="cogl_flush" version="1.0">
-      <doc xml:whitespace="preserve">This function should only need to be called in exceptional circumstances.
-As an optimization Cogl drawing functions may batch up primitives
-internally, so if you are trying to use raw GL outside of Cogl you stand a
-better chance of being successful if you ask Cogl to flush any batched
-geometry before making your state changes.
-It only ensure that the underlying driver is issued all the commands
-necessary to draw the batched primitives. It provides no guarantees about
-when the driver will complete the rendering.
-This provides no guarantees about the GL state upon returning and to avoid
-confusing Cogl you should aim to restore any changes you make before
-resuming use of Cogl.
-If you are making state changes with the intention of affecting Cogl drawing
-primitives you are 100% on your own since you stand a good chance of
-conflicting with Cogl internals. For example clutter-gst which currently
-uses direct GL calls to bind ARBfp programs will very likely break when Cogl
-starts to use ARBfb programs itself for the material API.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="frustum" c:identifier="cogl_frustum" version="0.8.2">
-      <doc xml:whitespace="preserve">Replaces the current projection matrix with a perspective matrix
-for the given viewing frustum.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="left" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Left clipping plane</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="right" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Right clipping plane</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="bottom" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Bottom clipping plane</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="top" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Top clipping plane</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="z_near" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Nearest visible point</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="z_far" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Furthest visible point along the z-axis</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_backface_culling_enabled"
-              c:identifier="cogl_get_backface_culling_enabled">
-      <doc xml:whitespace="preserve">Queries if backface culling has been enabled via
-cogl_set_backface_culling_enabled()</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if backface culling is enabled, and %FALSE otherwise</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-    </function>
-    <function name="get_bitmasks" c:identifier="cogl_get_bitmasks">
-      <doc xml:whitespace="preserve">Gets the number of bitplanes used for each of the color components
-in the color buffer. Pass %NULL for any of the arguments if the
-value is not required.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="red"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">Return location for the number of red bits or %NULL</doc>
-          <type name="gint" c:type="int*"/>
-        </parameter>
-        <parameter name="green"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">Return location for the number of green bits or %NULL</doc>
-          <type name="gint" c:type="int*"/>
-        </parameter>
-        <parameter name="blue"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">Return location for the number of blue bits or %NULL</doc>
-          <type name="gint" c:type="int*"/>
-        </parameter>
-        <parameter name="alpha"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">Return location for the number of alpha bits or %NULL</doc>
-          <type name="gint" c:type="int*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_depth_test_enabled"
-              c:identifier="cogl_get_depth_test_enabled"
-              deprecated="Use cogl_material_get_depth_test_enabled()"
-              deprecated-version="1.4">
-      <doc xml:whitespace="preserve">Queries if depth testing has been enabled via cogl_set_depth_test_enable()
-instead.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if depth testing is enabled, and %FALSE otherwise</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-    </function>
-    <function name="get_features"
-              c:identifier="cogl_get_features"
-              version="0.8">
-      <doc xml:whitespace="preserve">Returns all of the features supported by COGL.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">A logical OR of all the supported COGL features.</doc>
-        <type name="FeatureFlags" c:type="CoglFeatureFlags"/>
-      </return-value>
-    </function>
-    <function name="get_modelview_matrix"
-              c:identifier="cogl_get_modelview_matrix">
-      <doc xml:whitespace="preserve">Stores the current model-view matrix in @matrix.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="matrix"
-                   direction="out"
-                   caller-allocates="1"
-                   transfer-ownership="none">
-          <doc xml:whitespace="preserve">return location for the model-view matrix</doc>
-          <type name="Matrix" c:type="CoglMatrix*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_option_group"
-              c:identifier="cogl_get_option_group"
-              version="1.0"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Retrieves the #GOptionGroup used by COGL to parse the command
-line options. Clutter uses this to handle the COGL command line
-options during its initialization process.</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">a #GOptionGroup</doc>
-        <type name="GLib.OptionGroup" c:type="GOptionGroup*"/>
-      </return-value>
-    </function>
-    <function name="get_path"
-              c:identifier="cogl_get_path"
-              version="1.4"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Gets a pointer to the current path. The path can later be used
-again by calling cogl_path_set(). Note that the path isn't copied
-so if you later call any functions to add to the path it will
-affect the returned object too. No reference is taken on the path
-so if you want to retain it you should take your own reference with
-cogl_object_ref().</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">a pointer to the current path.</doc>
-        <type name="Path" c:type="CoglPath*"/>
-      </return-value>
-    </function>
-    <function name="get_proc_address"
-              c:identifier="cogl_get_proc_address"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Gets a pointer to a given GL or GL ES extension function. This acts
-as a wrapper around glXGetProcAddress() or whatever is the
-appropriate function for the current backend.
-function is not available.</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">a pointer to the requested function or %NULL if the</doc>
-        <type name="FuncPtr" c:type="CoglFuncPtr"/>
-      </return-value>
-      <parameters>
-        <parameter name="name" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the name of the function.</doc>
-          <type name="utf8" c:type="char*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_projection_matrix"
-              c:identifier="cogl_get_projection_matrix">
-      <doc xml:whitespace="preserve">Stores the current projection matrix in @matrix.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="matrix"
-                   direction="out"
-                   caller-allocates="1"
-                   transfer-ownership="none">
-          <doc xml:whitespace="preserve">return location for the projection matrix</doc>
-          <type name="Matrix" c:type="CoglMatrix*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_viewport" c:identifier="cogl_get_viewport">
-      <doc xml:whitespace="preserve">Stores the current viewport in @v. @v[0] and @v[1] get the x and y
-position of the viewport and @v[2] and @v[3] get the width and
-height.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="v"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">pointer to a 4 element array of #float&lt;!-- --&gt;s to receive the viewport dimensions.</doc>
-          <array c:type="float" fixed-size="4">
-            <type name="gfloat"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="handle_get_type" c:identifier="cogl_handle_get_type">
-      <return-value transfer-ownership="none">
-        <type name="GType" c:type="GType"/>
-      </return-value>
-    </function>
-    <function name="handle_ref" c:identifier="cogl_handle_ref">
-      <doc xml:whitespace="preserve">Increases the reference count of @handle by 1</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the handle, with its reference count increased</doc>
-        <type name="Handle" c:type="CoglHandle"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglHandle</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="handle_unref" c:identifier="cogl_handle_unref">
-      <doc xml:whitespace="preserve">Drecreases the reference count of @handle by 1; if the reference
-count reaches 0, the resources allocated by @handle will be freed</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglHandle</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="is_bitmap" c:identifier="cogl_is_bitmap" version="1.0">
-      <doc xml:whitespace="preserve">Checks whether @handle is a #CoglHandle for a bitmap
-and %FALSE otherwise</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the passed handle represents a bitmap,</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglHandle for a bitmap</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="is_buffer_EXP" c:identifier="cogl_is_buffer_EXP">
-      <return-value transfer-ownership="none">
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="object" transfer-ownership="none">
-          <type name="gpointer" c:type="void*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="is_material" c:identifier="cogl_is_material">
-      <doc xml:whitespace="preserve">Gets whether the given handle references an existing material object.
-%FALSE otherwise</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the handle references a #CoglMaterial,</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A CoglHandle</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="is_offscreen" c:identifier="cogl_is_offscreen">
-      <doc xml:whitespace="preserve">Determines whether the given #CoglHandle references an offscreen buffer
-object.
-%FALSE otherwise</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the handle references an offscreen buffer,</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A CoglHandle for an offscreen buffer</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="is_path" c:identifier="cogl_is_path">
-      <doc xml:whitespace="preserve">Gets whether the given handle references an existing path object.
-%FALSE otherwise</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the handle references a #CoglPath,</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A CoglHandle</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="is_pixel_array_EXP" c:identifier="cogl_is_pixel_array_EXP">
-      <return-value transfer-ownership="none">
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="object" transfer-ownership="none">
-          <type name="gpointer" c:type="void*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="is_program" c:identifier="cogl_is_program">
-      <doc xml:whitespace="preserve">Gets whether the given handle references an existing program object.
-%FALSE otherwise</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the handle references a program,</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A CoglHandle</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="is_shader" c:identifier="cogl_is_shader">
-      <doc xml:whitespace="preserve">Gets whether the given handle references an existing shader object.
-%FALSE otherwise</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the handle references a shader,</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A CoglHandle</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="is_texture" c:identifier="cogl_is_texture">
-      <doc xml:whitespace="preserve">Gets whether the given handle references an existing texture object.
-%FALSE otherwise</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the handle references a texture, and</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A CoglHandle</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="is_texture_3d_EXP" c:identifier="cogl_is_texture_3d_EXP">
-      <return-value transfer-ownership="none">
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="is_texture_pixmap_x11_EXP"
-              c:identifier="cogl_is_texture_pixmap_x11_EXP">
-      <return-value transfer-ownership="none">
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="is_vertex_buffer"
-              c:identifier="cogl_is_vertex_buffer"
-              version="1.0">
-      <doc xml:whitespace="preserve">Checks whether @handle is a Vertex Buffer Object
-otherwise</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the handle is a VBO, and %FALSE</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglHandle for a vertex buffer object</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="is_vertex_buffer_indices"
-              c:identifier="cogl_is_vertex_buffer_indices"
-              version="1.4">
-      <doc xml:whitespace="preserve">Checks whether @handle is a handle to the indices for a vertex
-buffer object
-otherwise</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the handle is indices, and %FALSE</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglHandle</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="material_get_point_size"
-              c:identifier="cogl_material_get_point_size"
-              version="1.4">
-      <doc xml:whitespace="preserve">Get the size of points drawn when %COGL_VERTICES_MODE_POINTS is
-used with the vertex buffer API.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the point size of the material.</doc>
-        <type name="gfloat" c:type="float"/>
-      </return-value>
-      <parameters>
-        <parameter name="material" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglHandle to a material.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="material_layer_get_type"
-              c:identifier="cogl_material_layer_get_type">
-      <doc xml:whitespace="preserve">Retrieves the type of the layer
-Currently there is only one type of layer defined:
-%COGL_MATERIAL_LAYER_TYPE_TEXTURE, but considering we may add purely GLSL
-based layers in the future, you should write code that checks the type
-first.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the type of the layer</doc>
-        <type name="MaterialLayerType" c:type="CoglMaterialLayerType"/>
-      </return-value>
-      <parameters>
-        <parameter name="layer" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A #CoglMaterialLayer object</doc>
-          <type name="MaterialLayer" c:type="CoglMaterialLayer*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="material_new"
-              c:identifier="cogl_material_new"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Allocates and initializes a blank white material</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">a pointer to a new #CoglMaterial</doc>
-        <type name="Material" c:type="CoglMaterial*"/>
-      </return-value>
-    </function>
-    <function name="material_ref"
-              c:identifier="cogl_material_ref"
-              version="1.0"
-              introspectable="0"
-              deprecated="Use cogl_object_ref() instead"
-              deprecated-version="1.2">
-      <doc xml:whitespace="preserve">Increment the reference count for a #CoglMaterial.</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">the @material.</doc>
-        <type name="Handle" c:type="CoglHandle"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="material_set_point_size"
-              c:identifier="cogl_material_set_point_size"
-              version="1.4">
-      <doc xml:whitespace="preserve">Changes the size of points drawn when %COGL_VERTICES_MODE_POINTS is
-used with the vertex buffer API. Note that typically the GPU will
-only support a limited minimum and maximum range of point sizes. If
-the chosen point size is outside that range then the nearest value
-within that range will be used instead. The size of a point is in
-screen space so it will be the same regardless of any
-transformations. The default point size is 1.0.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="material" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglHandle to a material.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-        <parameter name="point_size" transfer-ownership="none">
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="material_unref"
-              c:identifier="cogl_material_unref"
-              version="1.0"
-              deprecated="Use cogl_object_unref() instead"
-              deprecated-version="1.2">
-      <doc xml:whitespace="preserve">Decrement the reference count for a #CoglMaterial.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="matrix_equal"
-              c:identifier="cogl_matrix_equal"
-              version="1.4">
-      <doc xml:whitespace="preserve">Compares two matrices to see if they represent the same
-transformation. Although internally the matrices may have different
-annotations associated with them and may potentially have a cached
-inverse matrix these are not considered in the comparison.</doc>
-      <return-value transfer-ownership="none">
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="v1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A 4x4 transformation matrix</doc>
-          <type name="gpointer" c:type="gconstpointer"/>
-        </parameter>
-        <parameter name="v2" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A 4x4 transformation matrix</doc>
-          <type name="gpointer" c:type="gconstpointer"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="object_ref"
-              c:identifier="cogl_object_ref"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Increases the reference count of @handle by 1</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">the @object, with its reference count increased</doc>
-        <type name="gpointer" c:type="void*"/>
-      </return-value>
-      <parameters>
-        <parameter name="object" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglObject</doc>
-          <type name="gpointer" c:type="void*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="object_unref" c:identifier="cogl_object_unref">
-      <doc xml:whitespace="preserve">Drecreases the reference count of @object by 1; if the reference
-count reaches 0, the resources allocated by @object will be freed</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="object" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglObject</doc>
-          <type name="gpointer" c:type="void*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="offscreen_new_to_texture"
-              c:identifier="cogl_offscreen_new_to_texture">
-      <doc xml:whitespace="preserve">This creates an offscreen buffer object using the given texture as the
-primary color buffer. It doesn't just initialize the contents of the
-offscreen buffer with the texture; they are tightly bound so that
-drawing to the offscreen buffer effectivly updates the contents of the
-given texture. You don't need to destroy the offscreen buffer before
-you can use the texture again.
-buffer or %COGL_INVALID_HANDLE if it wasn't possible to create the
-buffer.</doc>
-      <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a #CoglHandle for the new offscreen</doc>
-        <type name="Handle" c:type="CoglHandle"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A CoglHandle for a Cogl texture</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="offscreen_ref"
-              c:identifier="cogl_offscreen_ref"
-              deprecated="cogl_handle_ref() should be used in new code."
-              deprecated-version="1.2">
-      <doc xml:whitespace="preserve">Increments the reference count on the offscreen buffer.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">For convenience it returns the given CoglHandle</doc>
-        <type name="Handle" c:type="CoglHandle"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A CoglHandle for an offscreen buffer</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="offscreen_unref"
-              c:identifier="cogl_offscreen_unref"
-              deprecated="cogl_handle_unref() should be used in new code."
-              deprecated-version="1.2">
-      <doc xml:whitespace="preserve">Decreases the reference count for the offscreen buffer and frees it when
-the count reaches 0.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A CoglHandle for an offscreen buffer</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ortho" c:identifier="cogl_ortho" version="1.0">
-      <doc xml:whitespace="preserve">Replaces the current projection matrix with an orthographic projection
-matrix. See &lt;xref linkend="cogl-ortho-matrix"/&gt; to see how the matrix is
-calculated.
-&lt;figure id="cogl-ortho-matrix"&gt;
-&lt;title&gt;&lt;/title&gt;
-&lt;graphic fileref="cogl_ortho.png" format="PNG"/&gt;
-&lt;/figure&gt;
-&lt;note&gt;This function copies the arguments from OpenGL's glOrtho() even
-though they are unnecessarily confusing due to the z near and z far
-arguments actually being a "distance" from the origin, where
-negative values are behind the viewer, instead of coordinates for
-the z clipping planes which would have been consistent with the
-left, right bottom and top arguments.&lt;/note&gt;</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="left" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The coordinate for the left clipping plane</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="right" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The coordinate for the right clipping plane</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="bottom" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The coordinate for the bottom clipping plane</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="top" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The coordinate for the top clipping plane</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="near" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The &lt;emphasis&gt;distance&lt;/emphasis&gt; to the near clipping plane (negative if the plane is behind the viewer)</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="far" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The &lt;emphasis&gt;distance&lt;/emphasis&gt; for the far clipping plane (negative if the plane is behind the viewer)</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="path_arc" c:identifier="cogl_path_arc">
-      <doc xml:whitespace="preserve">Adds an elliptical arc segment to the current path. A straight line
-segment will link the current pen location with the first vertex
-of the arc. If you perform a move_to to the arcs start just before
-drawing it you create a free standing arc.
-The angles are measured in degrees where 0° is in the direction of
-the positive X axis and 90° is in the direction of the positive Y
-axis. The angle of the arc begins at @angle_1 and heads towards
-otherwise it will increase).</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="center_x" transfer-ownership="none">
-          <doc xml:whitespace="preserve">X coordinate of the elliptical arc center</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="center_y" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Y coordinate of the elliptical arc center</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="radius_x" transfer-ownership="none">
-          <doc xml:whitespace="preserve">X radius of the elliptical arc</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="radius_y" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Y radius of the elliptical arc</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="angle_1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Angle in degrees at which the arc begin</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="angle_2" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Angle in degrees at which the arc ends</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="path_close" c:identifier="cogl_path_close">
-      <doc xml:whitespace="preserve">Closes the path being constructed by adding a straight line segment
-to it that ends at the first vertex of the path.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="path_curve_to" c:identifier="cogl_path_curve_to">
-      <doc xml:whitespace="preserve">Adds a cubic bezier curve segment to the current path with the given
-second, third and fourth control points and using current pen location
-as the first control point.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="x_1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">X coordinate of the second bezier control point</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y_1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Y coordinate of the second bezier control point</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="x_2" transfer-ownership="none">
-          <doc xml:whitespace="preserve">X coordinate of the third bezier control point</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y_2" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Y coordinate of the third bezier control point</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="x_3" transfer-ownership="none">
-          <doc xml:whitespace="preserve">X coordinate of the fourth bezier control point</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y_3" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Y coordinate of the fourth bezier control point</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="path_ellipse" c:identifier="cogl_path_ellipse">
-      <doc xml:whitespace="preserve">Constructs an ellipse shape. If there is an existing path this will
-start a new disjoint sub-path.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="center_x" transfer-ownership="none">
-          <doc xml:whitespace="preserve">X coordinate of the ellipse center</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="center_y" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Y coordinate of the ellipse center</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="radius_x" transfer-ownership="none">
-          <doc xml:whitespace="preserve">X radius of the ellipse</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="radius_y" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Y radius of the ellipse</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="path_fill" c:identifier="cogl_path_fill">
-      <doc xml:whitespace="preserve">Fills the interior of the constructed shape using the current
-drawing color. The current path is then cleared. To use the path
-again, call cogl_path_fill_preserve() instead.
-The interior of the shape is determined using the fill rule of the
-path. See %CoglPathFillRule for details.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="path_fill_preserve"
-              c:identifier="cogl_path_fill_preserve"
-              version="1.0">
-      <doc xml:whitespace="preserve">Fills the interior of the constructed shape using the current
-drawing color and preserves the path to be used again. See
-cogl_path_fill() for a description what is considered the interior
-of the shape.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="path_get_fill_rule"
-              c:identifier="cogl_path_get_fill_rule"
-              version="1.4">
-      <doc xml:whitespace="preserve">Retrieves the fill rule set using cogl_path_set_fill_rule().</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the fill rule that is used for the current path.</doc>
-        <type name="PathFillRule" c:type="CoglPathFillRule"/>
-      </return-value>
-    </function>
-    <function name="path_line" c:identifier="cogl_path_line">
-      <doc xml:whitespace="preserve">Constructs a straight line shape starting and ending at the given
-coordinates. If there is an existing path this will start a new
-disjoint sub-path.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="x_1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">X coordinate of the start line vertex</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y_1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Y coordinate of the start line vertex</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="x_2" transfer-ownership="none">
-          <doc xml:whitespace="preserve">X coordinate of the end line vertex</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y_2" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Y coordinate of the end line vertex</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="path_line_to" c:identifier="cogl_path_line_to">
-      <doc xml:whitespace="preserve">Adds a straight line segment to the current path that ends at the
-given coordinates.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="x" transfer-ownership="none">
-          <doc xml:whitespace="preserve">X coordinate of the end line vertex</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Y coordinate of the end line vertex</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="path_move_to" c:identifier="cogl_path_move_to">
-      <doc xml:whitespace="preserve">Moves the pen to the given location. If there is an existing path
-this will start a new disjoint subpath.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="x" transfer-ownership="none">
-          <doc xml:whitespace="preserve">X coordinate of the pen location to move to.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Y coordinate of the pen location to move to.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="path_new" c:identifier="cogl_path_new" version="1.0">
-      <doc xml:whitespace="preserve">Clears the current path and starts a new one. Creating a new path
-also resets the fill rule to the default which is
-%COGL_PATH_FILL_RULE_EVEN_ODD.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="path_polygon" c:identifier="cogl_path_polygon">
-      <doc xml:whitespace="preserve">Constructs a polygonal shape of the given number of vertices. If
-there is an existing path this will start a new disjoint sub-path.
-The coords array must contain 2 * num_points values. The first value
-represents the X coordinate of the first vertex, the second value
-represents the Y coordinate of the first vertex, continuing in the same
-fashion for the rest of the vertices.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="coords" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A pointer to the first element of an array of fixed-point values that specify the vertex coordinates.</doc>
-          <array c:type="float*">
-            <type name="gfloat"/>
-          </array>
-        </parameter>
-        <parameter name="num_points" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The total number of vertices.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="path_polyline" c:identifier="cogl_path_polyline">
-      <doc xml:whitespace="preserve">Constructs a series of straight line segments, starting from the
-first given vertex coordinate. If there is an existing path this
-will start a new disjoint sub-path. Each subsequent segment starts
-where the previous one ended and ends at the next given vertex
-coordinate.
-The coords array must contain 2 * num_points values. The first value
-represents the X coordinate of the first vertex, the second value
-represents the Y coordinate of the first vertex, continuing in the same
-fashion for the rest of the vertices. (num_points - 1) segments will
-be constructed.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="coords" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A pointer to the first element of an array of fixed-point values that specify the vertex coordinates.</doc>
-          <array c:type="float*">
-            <type name="gfloat"/>
-          </array>
-        </parameter>
-        <parameter name="num_points" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The total number of vertices.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="path_rectangle" c:identifier="cogl_path_rectangle">
-      <doc xml:whitespace="preserve">Constructs a rectangular shape at the given coordinates. If there
-is an existing path this will start a new disjoint sub-path.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="x_1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">X coordinate of the top-left corner.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y_1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Y coordinate of the top-left corner.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="x_2" transfer-ownership="none">
-          <doc xml:whitespace="preserve">X coordinate of the bottom-right corner.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y_2" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Y coordinate of the bottom-right corner.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="path_rel_curve_to" c:identifier="cogl_path_rel_curve_to">
-      <doc xml:whitespace="preserve">Adds a cubic bezier curve segment to the current path with the given
-second, third and fourth control points and using current pen location
-as the first control point. The given coordinates are relative to the
-current pen location.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="x_1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">X coordinate of the second bezier control point</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y_1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Y coordinate of the second bezier control point</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="x_2" transfer-ownership="none">
-          <doc xml:whitespace="preserve">X coordinate of the third bezier control point</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y_2" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Y coordinate of the third bezier control point</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="x_3" transfer-ownership="none">
-          <doc xml:whitespace="preserve">X coordinate of the fourth bezier control point</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y_3" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Y coordinate of the fourth bezier control point</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="path_rel_line_to" c:identifier="cogl_path_rel_line_to">
-      <doc xml:whitespace="preserve">Adds a straight line segment to the current path that ends at the
-given coordinates relative to the current pen location.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="x" transfer-ownership="none">
-          <doc xml:whitespace="preserve">X offset from the current pen location of the end line vertex</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Y offset from the current pen location of the end line vertex</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="path_rel_move_to" c:identifier="cogl_path_rel_move_to">
-      <doc xml:whitespace="preserve">Moves the pen to the given offset relative to the current pen
-location. If there is an existing path this will start a new
-disjoint subpath.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="x" transfer-ownership="none">
-          <doc xml:whitespace="preserve">X offset from the current pen location to move the pen to.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Y offset from the current pen location to move the pen to.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="path_round_rectangle"
-              c:identifier="cogl_path_round_rectangle">
-      <doc xml:whitespace="preserve">Constructs a rectangular shape with rounded corners. If there is an
-existing path this will start a new disjoint sub-path.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="x_1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">X coordinate of the top-left corner.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y_1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Y coordinate of the top-left corner.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="x_2" transfer-ownership="none">
-          <doc xml:whitespace="preserve">X coordinate of the bottom-right corner.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y_2" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Y coordinate of the bottom-right corner.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="radius" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Radius of the corner arcs.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="arc_step" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Angle increment resolution for subdivision of the corner arcs.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="path_set_fill_rule"
-              c:identifier="cogl_path_set_fill_rule"
-              version="1.4">
-      <doc xml:whitespace="preserve">Sets the fill rule of the current path to @fill_rule. This will
-affect how the path is filled when cogl_path_fill() is later
-called. Note that the fill rule state is attached to the path so
-calling cogl_get_path() will preserve the fill rule and calling
-cogl_path_new() will reset the fill rule back to the default.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="fill_rule" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The new fill rule.</doc>
-          <type name="PathFillRule" c:type="CoglPathFillRule"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="path_stroke" c:identifier="cogl_path_stroke">
-      <doc xml:whitespace="preserve">Strokes the constructed shape using the current drawing color and a
-width of 1 pixel (regardless of the current transformation
-matrix). To current path is then cleared. To use the path again,
-call cogl_path_stroke_preserve() instead.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="path_stroke_preserve"
-              c:identifier="cogl_path_stroke_preserve"
-              version="1.0">
-      <doc xml:whitespace="preserve">Strokes the constructed shape using the current drawing color and
-preserves the path to be used again.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="perspective" c:identifier="cogl_perspective">
-      <doc xml:whitespace="preserve">Replaces the current projection matrix with a perspective matrix
-based on the provided values.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="fovy" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Vertical of view angle in degrees.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="aspect" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Aspect ratio of diesplay</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="z_near" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Nearest visible point</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="z_far" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Furthest visible point along the z-axis</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pixel_array_new_with_size_EXP"
-              c:identifier="cogl_pixel_array_new_with_size_EXP"
-              introspectable="0">
-      <return-value>
-        <type name="PixelArray" c:type="CoglPixelArray*"/>
-      </return-value>
-      <parameters>
-        <parameter name="width" transfer-ownership="none">
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="height" transfer-ownership="none">
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="format" transfer-ownership="none">
-          <type name="PixelFormat" c:type="CoglPixelFormat"/>
-        </parameter>
-        <parameter name="stride" transfer-ownership="none">
-          <type name="guint" c:type="unsigned int*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="polygon" c:identifier="cogl_polygon" version="1.0">
-      <doc xml:whitespace="preserve">Draws a convex polygon using the current source material to fill / texture
-with according to the texture coordinates passed.
-If @use_color is %TRUE then the color will be changed for each vertex using
-the value specified in the color member of #CoglTextureVertex. This can be
-used for example to make the texture fade out by setting the alpha value of
-the color.
-All of the texture coordinates must be in the range [0,1] and repeating the
-texture is not supported.
-Because of the way this function is implemented it will currently
-only work if either the texture is not sliced or the backend is not
-OpenGL ES and the minifying and magnifying functions are both set
-to COGL_MATERIAL_FILTER_NEAREST.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="vertices" transfer-ownership="none">
-          <doc xml:whitespace="preserve">An array of #CoglTextureVertex structs</doc>
-          <type name="TextureVertex" c:type="CoglTextureVertex*"/>
-        </parameter>
-        <parameter name="n_vertices" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The length of the vertices array</doc>
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="use_color" transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the color member of #CoglTextureVertex should be used</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pop_draw_buffer"
-              c:identifier="cogl_pop_draw_buffer"
-              deprecated="The draw buffer API was replaced with a framebuffer API"
-              deprecated-version="1.2">
-      <doc xml:whitespace="preserve">Restore cogl_set_draw_buffer() state.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="pop_framebuffer"
-              c:identifier="cogl_pop_framebuffer"
-              version="1.2">
-      <doc xml:whitespace="preserve">Restores the framebuffer that was previously at the top of the stack.
-All subsequent drawing will be redirected to this framebuffer.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="pop_matrix" c:identifier="cogl_pop_matrix">
-      <doc xml:whitespace="preserve">Restores the current model-view matrix from the matrix stack.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="program_attach_shader"
-              c:identifier="cogl_program_attach_shader">
-      <doc xml:whitespace="preserve">Attaches a shader to a program object, a program can have one vertex shader
-and one fragment shader attached.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="program_handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglHandle for a shdaer program.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-        <parameter name="shader_handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglHandle for a vertex of fragment shader.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="program_get_uniform_location"
-              c:identifier="cogl_program_get_uniform_location">
-      <doc xml:whitespace="preserve">Retrieve the location (offset) of a uniform variable in a shader program,
-a uniform is a variable that is constant for all vertices/fragments for a
-shader object and is possible to modify as an external parameter.
-This uniform can be set using cogl_program_uniform_1f() when the
-program is in use.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the offset of a uniform in a specified program.</doc>
-        <type name="gint" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglHandle for a shader program.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-        <parameter name="uniform_name" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the name of a uniform.</doc>
-          <type name="utf8" c:type="char*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="program_link" c:identifier="cogl_program_link">
-      <doc xml:whitespace="preserve">Links a program making it ready for use.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglHandle for a shader program.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="program_ref"
-              c:identifier="cogl_program_ref"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Add an extra reference to a program.</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">@handle</doc>
-        <type name="Handle" c:type="CoglHandle"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A #CoglHandle to a program.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="program_set_uniform_1f"
-              c:identifier="cogl_program_set_uniform_1f"
-              version="1.4">
-      <doc xml:whitespace="preserve">Changes the value of a floating point uniform for the given linked</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="program" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A #CoglHandle for a linked program</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-        <parameter name="uniform_location" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the uniform location retrieved from cogl_program_get_uniform_location().</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the new value of the uniform.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="program_set_uniform_1i"
-              c:identifier="cogl_program_set_uniform_1i"
-              version="1.4">
-      <doc xml:whitespace="preserve">Changes the value of an integer uniform for the given linked</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="program" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A #CoglHandle for a linked program</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-        <parameter name="uniform_location" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the uniform location retrieved from cogl_program_get_uniform_location().</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the new value of the uniform.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="program_set_uniform_float"
-              c:identifier="cogl_program_set_uniform_float"
-              version="1.4">
-      <doc xml:whitespace="preserve">Changes the value of a float vector uniform, or uniform array for
-the given linked @program.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="program" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A #CoglHandle for a linked program</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-        <parameter name="uniform_location" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the uniform location retrieved from cogl_program_get_uniform_location().</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="n_components" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The number of components for the uniform. For example with glsl you'd use 3 for a vec3 or 4 for a vec4.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="count" transfer-ownership="none">
-          <doc xml:whitespace="preserve">For uniform arrays this is the array length otherwise just pass 1</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the new value of the uniform[s].</doc>
-          <array length="3" c:type="float*">
-            <type name="gfloat"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="program_set_uniform_int"
-              c:identifier="cogl_program_set_uniform_int"
-              version="1.4">
-      <doc xml:whitespace="preserve">Changes the value of a int vector uniform, or uniform array for
-the given linked @program.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="program" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A #CoglHandle for a linked program</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-        <parameter name="uniform_location" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the uniform location retrieved from cogl_program_get_uniform_location().</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="n_components" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The number of components for the uniform. For example with glsl you'd use 3 for a vec3 or 4 for a vec4.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="count" transfer-ownership="none">
-          <doc xml:whitespace="preserve">For uniform arrays this is the array length otherwise just pass 1</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the new value of the uniform[s].</doc>
-          <array length="3" c:type="int*">
-            <type name="gint"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="program_set_uniform_matrix"
-              c:identifier="cogl_program_set_uniform_matrix"
-              version="1.4">
-      <doc xml:whitespace="preserve">Changes the value of a matrix uniform, or uniform array in the
-given linked @program.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="program" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A #CoglHandle for a linked program</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-        <parameter name="uniform_location" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the uniform location retrieved from cogl_program_get_uniform_location().</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="dimensions" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The dimensions of the matrix. So for for example pass 2 for a 2x2 matrix or 3 for 3x3.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="count" transfer-ownership="none">
-          <doc xml:whitespace="preserve">For uniform arrays this is the array length otherwise just pass 1</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="transpose" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Whether to transpose the matrix when setting the uniform.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </parameter>
-        <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the new value of the uniform.</doc>
-          <array length="3" c:type="float*">
-            <type name="gfloat"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="program_uniform_1f"
-              c:identifier="cogl_program_uniform_1f"
-              deprecated="Use cogl_program_set_uniform_1f() instead."
-              deprecated-version="1.4">
-      <doc xml:whitespace="preserve">Changes the value of a floating point uniform in the currently
-used (see cogl_program_use()) shader program.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="uniform_no" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the uniform to set.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the new value of the uniform.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="program_uniform_1i"
-              c:identifier="cogl_program_uniform_1i"
-              deprecated="Use cogl_program_set_uniform_1i() instead."
-              deprecated-version="1.4">
-      <doc xml:whitespace="preserve">Changes the value of an integer uniform in the currently
-used (see cogl_program_use()) shader program.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="uniform_no" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the uniform to set.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the new value of the uniform.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="program_uniform_float"
-              c:identifier="cogl_program_uniform_float"
-              deprecated="Use cogl_program_set_uniform_float() instead."
-              deprecated-version="1.4">
-      <doc xml:whitespace="preserve">Changes the value of a float vector uniform, or uniform array in the
-currently used (see cogl_program_use()) shader program.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="uniform_no" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the uniform to set.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="size" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Size of float vector.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="count" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Size of array of uniforms.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the new value of the uniform.</doc>
-          <array length="2" c:type="float*">
-            <type name="gfloat"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="program_uniform_int"
-              c:identifier="cogl_program_uniform_int">
-      <doc xml:whitespace="preserve">Changes the value of a int vector uniform, or uniform array in the
-currently used (see cogl_program_use()) shader program.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="uniform_no" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the uniform to set.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="size" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Size of int vector.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="count" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Size of array of uniforms.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the new value of the uniform.</doc>
-          <array length="2" c:type="int*">
-            <type name="gint"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="program_uniform_matrix"
-              c:identifier="cogl_program_uniform_matrix">
-      <doc xml:whitespace="preserve">Changes the value of a matrix uniform, or uniform array in the
-currently used (see cogl_program_use()) shader program. The @size
-parameter is used to determine the square size of the matrix.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="uniform_no" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the uniform to set.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="size" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Size of matrix.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="count" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Size of array of uniforms.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="transpose" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Whether to transpose the matrix when setting the uniform.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </parameter>
-        <parameter name="value" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the new value of the uniform.</doc>
-          <array length="2" c:type="float*">
-            <type name="gfloat"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="program_unref" c:identifier="cogl_program_unref">
-      <doc xml:whitespace="preserve">Removes a reference to a program. If it was the last reference the
-program object will be destroyed.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A #CoglHandle to a program.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="program_use" c:identifier="cogl_program_use">
-      <doc xml:whitespace="preserve">Activate a specific shader program replacing that part of the GL
-rendering pipeline, if passed in %COGL_INVALID_HANDLE the default
-behavior of GL is reinstated.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglHandle for a shader program or %COGL_INVALID_HANDLE.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="push_draw_buffer"
-              c:identifier="cogl_push_draw_buffer"
-              deprecated="The draw buffer API was replaced with a framebuffer API"
-              deprecated-version="1.2">
-      <doc xml:whitespace="preserve">Save cogl_set_draw_buffer() state.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="push_framebuffer"
-              c:identifier="cogl_push_framebuffer"
-              version="1.2">
-      <doc xml:whitespace="preserve">Redirects all subsequent drawing to the specified framebuffer. This can
-either be an offscreen buffer created with cogl_offscreen_new_to_texture ()
-or in the future it may be an onscreen framebuffer too.
-You should understand that a framebuffer owns the following state:
-&lt;itemizedlist&gt;
-&lt;listitem&gt;&lt;simpara&gt;The projection matrix&lt;/simpara&gt;&lt;/listitem&gt;
-&lt;listitem&gt;&lt;simpara&gt;The modelview matrix stack&lt;/simpara&gt;&lt;/listitem&gt;
-&lt;listitem&gt;&lt;simpara&gt;The viewport&lt;/simpara&gt;&lt;/listitem&gt;
-&lt;listitem&gt;&lt;simpara&gt;The clip stack&lt;/simpara&gt;&lt;/listitem&gt;
-&lt;/itemizedlist&gt;
-So these items will automatically be saved and restored when you
-push and pop between different framebuffers.
-Also remember a newly allocated framebuffer will have an identity matrix for
-the projection and modelview matrices which gives you a coordinate space
-like OpenGL with (-1, -1) corresponding to the top left of the viewport,
-(1, 1) corresponding to the bottom right and +z coming out towards the
-viewer.
-If you want to set up a coordinate space like Clutter does with (0, 0)
-corresponding to the top left and (framebuffer_width, framebuffer_height)
-corresponding to the bottom right you can do so like this:
-|[
-static void
-setup_viewport (unsigned int width,
-unsigned int height,
-float fovy,
-float aspect,
-float z_near,
-float z_far)
-{
-float z_camera;
-CoglMatrix projection_matrix;
-CoglMatrix mv_matrix;
-cogl_set_viewport (0, 0, width, height);
-cogl_perspective (fovy, aspect, z_near, z_far);
-cogl_get_projection_matrix (&amp;amp;projection_matrix);
-z_camera = 0.5 * projection_matrix.xx;
-cogl_matrix_init_identity (&amp;amp;mv_matrix);
-cogl_matrix_translate (&amp;amp;mv_matrix, -0.5f, -0.5f, -z_camera);
-cogl_matrix_scale (&amp;amp;mv_matrix, 1.0f / width, -1.0f / height, 1.0f / width);
-cogl_matrix_translate (&amp;amp;mv_matrix, 0.0f, -1.0 * height, 0.0f);
-cogl_set_modelview_matrix (&amp;amp;mv_matrix);
-}
-static void
-my_init_framebuffer (ClutterStage *stage,
-CoglFramebuffer *framebuffer,
-unsigned int framebuffer_width,
-unsigned int framebuffer_height)
-{
-ClutterPerspective perspective;
-clutter_stage_get_perspective (stage, &amp;perspective);
-cogl_push_framebuffer (framebuffer);
-setup_viewport (framebuffer_width,
-framebuffer_height,
-perspective.fovy,
-perspective.aspect,
-perspective.z_near,
-perspective.z_far);
-}
-]|
-The previous framebuffer can be restored by calling cogl_pop_framebuffer()</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="buffer" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A #CoglFramebuffer object, either onscreen or offscreen.</doc>
-          <type name="Framebuffer" c:type="CoglFramebuffer*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="push_matrix" c:identifier="cogl_push_matrix">
-      <doc xml:whitespace="preserve">Stores the current model-view matrix on the matrix stack. The matrix
-can later be restored with cogl_pop_matrix().</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="read_pixels" c:identifier="cogl_read_pixels">
-      <doc xml:whitespace="preserve">This reads a rectangle of pixels from the current framebuffer where
-position (0, 0) is the top left. The pixel at (x, y) is the first
-read, and the data is returned with a rowstride of (width * 4).
-Currently Cogl assumes that the framebuffer is in a premultiplied
-format so if @format is non-premultiplied it will convert it. To
-read the pixel values without any conversion you should either
-specify a format that doesn't use an alpha channel or use one of
-the formats ending in PRE.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="x" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The window x position to start reading from</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="y" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The window y position to start reading from</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="width" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The width of the rectangle you want to read</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="height" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The height of the rectangle you want to read</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="source" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Identifies which auxillary buffer you want to read (only COGL_READ_PIXELS_COLOR_BUFFER supported currently)</doc>
-          <type name="ReadPixelsFlags" c:type="CoglReadPixelsFlags"/>
-        </parameter>
-        <parameter name="format" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The pixel format you want the result in (only COGL_PIXEL_FORMAT_RGBA_8888 supported currently)</doc>
-          <type name="PixelFormat" c:type="CoglPixelFormat"/>
-        </parameter>
-        <parameter name="pixels" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The location to write the pixel data.</doc>
-          <type name="guint8" c:type="guint8*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="rectangle" c:identifier="cogl_rectangle">
-      <doc xml:whitespace="preserve">Fills a rectangle at the given coordinates with the current source material</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="x_1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">X coordinate of the top-left corner</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y_1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Y coordinate of the top-left corner</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="x_2" transfer-ownership="none">
-          <doc xml:whitespace="preserve">X coordinate of the bottom-right corner</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y_2" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Y coordinate of the bottom-right corner</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="rectangle_with_multitexture_coords"
-              c:identifier="cogl_rectangle_with_multitexture_coords"
-              version="1.0">
-      <doc xml:whitespace="preserve">This function draws a rectangle using the current source material to
-texture or fill with. As a material may contain multiple texture layers
-this interface lets you supply texture coordinates for each layer of the
-material.
-The first pair of coordinates are for the first layer (with the smallest
-layer index) and if you supply less texture coordinates than there are
-layers in the current source material then default texture coordinates
-(0.0, 0.0, 1.0, 1.0) are generated.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="x1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">x coordinate upper left on screen.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">y coordinate upper left on screen.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="x2" transfer-ownership="none">
-          <doc xml:whitespace="preserve">x coordinate lower right on screen.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y2" transfer-ownership="none">
-          <doc xml:whitespace="preserve">y coordinate lower right on screen.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="tex_coords" transfer-ownership="none">
-          <doc xml:whitespace="preserve">An array containing groups of 4 float values: [tx1, ty1, tx2, ty2] that are interpreted as two texture coordinates; one for the upper left texel, and one for the lower right texel. Each value should be between 0.0 and 1.0, where the coordinate (0.0, 0.0) represents the top left of the texture, and (1.0, 1.0) the bottom right.</doc>
-          <array c:type="float*">
-            <type name="gfloat"/>
-          </array>
-        </parameter>
-        <parameter name="tex_coords_len" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The length of the tex_coords array. (e.g. for one layer and one group of texture coordinates, this would be 4)</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="rectangle_with_texture_coords"
-              c:identifier="cogl_rectangle_with_texture_coords"
-              version="1.0">
-      <doc xml:whitespace="preserve">Draw a rectangle using the current material and supply texture coordinates
-to be used for the first texture layer of the material. To draw the entire
-texture pass in @tx1=0.0 @ty1=0.0 @tx2=1.0 @ty2=1.0.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="x1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">x coordinate upper left on screen.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">y coordinate upper left on screen.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="x2" transfer-ownership="none">
-          <doc xml:whitespace="preserve">x coordinate lower right on screen.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y2" transfer-ownership="none">
-          <doc xml:whitespace="preserve">y coordinate lower right on screen.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="tx1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">x part of texture coordinate to use for upper left pixel</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="ty1" transfer-ownership="none">
-          <doc xml:whitespace="preserve">y part of texture coordinate to use for upper left pixel</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="tx2" transfer-ownership="none">
-          <doc xml:whitespace="preserve">x part of texture coordinate to use for lower right pixel</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="ty2" transfer-ownership="none">
-          <doc xml:whitespace="preserve">y part of texture coordinate to use for left pixel</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="rectangles" c:identifier="cogl_rectangles" version="1.0">
-      <doc xml:whitespace="preserve">Draws a series of rectangles in the same way that
-cogl_rectangle() does. In some situations it can give a
-significant performance boost to use this function rather than
-calling cogl_rectangle() separately for each rectangle.
-parameters x1, y1, x2, and y2, and have the same
-meaning as in cogl_rectangle().</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="verts" transfer-ownership="none">
-          <doc xml:whitespace="preserve">an array of vertices</doc>
-          <array c:type="float*">
-            <type name="gfloat"/>
-          </array>
-        </parameter>
-        <parameter name="n_rects" transfer-ownership="none">
-          <doc xml:whitespace="preserve">number of rectangles to draw</doc>
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="rectangles_with_texture_coords"
-              c:identifier="cogl_rectangles_with_texture_coords"
-              version="0.8.6">
-      <doc xml:whitespace="preserve">Draws a series of rectangles in the same way that
-cogl_rectangle_with_texture_coords() does. In some situations it can give a
-significant performance boost to use this function rather than
-calling cogl_rectangle_with_texture_coords() separately for each rectangle.
-parameters x1, y1, x2, y2, tx1, ty1, tx2 and ty2 and have the same
-meaning as in cogl_rectangle_with_texture_coords().</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="verts" transfer-ownership="none">
-          <doc xml:whitespace="preserve">an array of vertices</doc>
-          <array c:type="float*">
-            <type name="gfloat"/>
-          </array>
-        </parameter>
-        <parameter name="n_rects" transfer-ownership="none">
-          <doc xml:whitespace="preserve">number of rectangles to draw</doc>
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="rotate" c:identifier="cogl_rotate">
-      <doc xml:whitespace="preserve">Multiplies the current model-view matrix by one that rotates the
-model around the vertex specified by @x, @y and @z. The rotation
-follows the right-hand thumb rule so for example rotating by 10
-degrees about the vertex (0, 0, 1) causes a small counter-clockwise
-rotation.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="angle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Angle in degrees to rotate.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="x" transfer-ownership="none">
-          <doc xml:whitespace="preserve">X-component of vertex to rotate around.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Y-component of vertex to rotate around.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="z" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Z-component of vertex to rotate around.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="scale" c:identifier="cogl_scale">
-      <doc xml:whitespace="preserve">Multiplies the current model-view matrix by one that scales the x,
-y and z axes by the given values.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="x" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Amount to scale along the x-axis</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Amount to scale along the y-axis</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="z" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Amount to scale along the z-axis</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_backface_culling_enabled"
-              c:identifier="cogl_set_backface_culling_enabled">
-      <doc xml:whitespace="preserve">Sets whether textures positioned so that their backface is showing
-should be hidden. This can be used to efficiently draw two-sided
-textures or fully closed cubes without enabling depth testing. This
-only affects calls to the cogl_rectangle* family of functions and
-cogl_vertex_buffer_draw*. Backface culling is disabled by default.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="setting" transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE to enable backface culling or %FALSE to disable.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_depth_test_enabled"
-              c:identifier="cogl_set_depth_test_enabled"
-              deprecated="Use cogl_material_set_depth_test_enabled()"
-              deprecated-version="1.4">
-      <doc xml:whitespace="preserve">Sets whether depth testing is enabled. If it is disabled then the
-order that actors are layered on the screen depends solely on the
-order specified using clutter_actor_raise() and
-clutter_actor_lower(), otherwise it will also take into account the
-actor's depth. Depth testing is disabled by default.
-instead.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="setting" transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE to enable depth testing or %FALSE to disable.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_draw_buffer"
-              c:identifier="cogl_set_draw_buffer"
-              deprecated="The target argument was redundant since we could look at"
-              deprecated-version="1.2">
-      <doc xml:whitespace="preserve">Redirects all subsequent drawing to the specified framebuffer. This
-can either be an offscreen buffer created with
-cogl_offscreen_new_to_texture () or you can revert to your original
-on screen window buffer.
-the type of CoglHandle given instead.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="target" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A #CoglBufferTarget that specifies what kind of framebuffer you are setting as the render target.</doc>
-          <type name="BufferTarget" c:type="CoglBufferTarget"/>
-        </parameter>
-        <parameter name="offscreen" transfer-ownership="none">
-          <doc xml:whitespace="preserve">If you are setting a framebuffer of type COGL_OFFSCREEN_BUFFER then this is a CoglHandle for the offscreen buffer.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_fog" c:identifier="cogl_set_fog">
-      <doc xml:whitespace="preserve">Enables fogging. Fogging causes vertices that are further away from the eye
-to be rendered with a different color. The color is determined according to
-the chosen fog mode; at it's simplest the color is linearly interpolated so
-that vertices at @z_near are drawn fully with their original color and
-vertices at @z_far are drawn fully with @fog_color. Fogging will remain
-enabled until you call cogl_disable_fog().
-&lt;note&gt;The fogging functions only work correctly when primitives use
-unmultiplied alpha colors. By default Cogl will premultiply textures
-and cogl_set_source_color() will premultiply colors, so unless you
-explicitly load your textures requesting an unmultiplied internal format
-and use cogl_material_set_color() you can only use fogging with fully
-opaque primitives. This might improve in the future when we can depend
-on fragment shaders.&lt;/note&gt;</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="fog_color" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The color of the fog</doc>
-          <type name="Color" c:type="CoglColor*"/>
-        </parameter>
-        <parameter name="mode" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A #CoglFogMode that determines the equation used to calculate the fogging blend factor.</doc>
-          <type name="FogMode" c:type="CoglFogMode"/>
-        </parameter>
-        <parameter name="density" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Used by %COGL_FOG_MODE_EXPONENTIAL and by %COGL_FOG_MODE_EXPONENTIAL_SQUARED equations.</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="z_near" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Position along Z axis where no fogging should be applied</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="z_far" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Position along Z axis where full fogging should be applied</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_framebuffer"
-              c:identifier="cogl_set_framebuffer"
-              version="1.2">
-      <doc xml:whitespace="preserve">This redirects all subsequent drawing to the specified framebuffer. This can
-either be an offscreen buffer created with cogl_offscreen_new_to_texture ()
-or in the future it may be an onscreen framebuffers too.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="buffer" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A #CoglFramebuffer object, either onscreen or offscreen.</doc>
-          <type name="Framebuffer" c:type="CoglFramebuffer*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_modelview_matrix"
-              c:identifier="cogl_set_modelview_matrix">
-      <doc xml:whitespace="preserve">Loads @matrix as the new model-view matrix.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="matrix" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the new model-view matrix</doc>
-          <type name="Matrix" c:type="CoglMatrix*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_path" c:identifier="cogl_set_path" version="1.4">
-      <doc xml:whitespace="preserve">Replaces the current path with @path. A reference is taken on the
-object so if you no longer need the path you should unref with
-cogl_object_unref().</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="path" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A #CoglPath object</doc>
-          <type name="Path" c:type="CoglPath*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_projection_matrix"
-              c:identifier="cogl_set_projection_matrix">
-      <doc xml:whitespace="preserve">Loads matrix as the new projection matrix.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="matrix" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the new projection matrix</doc>
-          <type name="Matrix" c:type="CoglMatrix*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_source" c:identifier="cogl_set_source" version="1.0">
-      <doc xml:whitespace="preserve">This function sets the source material that will be used to fill subsequent
-geometry emitted via the cogl API.
-&lt;note&gt;In the future we may add the ability to set a front facing material,
-and a back facing material, in which case this function will set both to the
-same.&lt;/note&gt;</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="material" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A #CoglHandle for a material</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_source_color"
-              c:identifier="cogl_set_source_color"
-              version="1.0">
-      <doc xml:whitespace="preserve">This is a convenience function for creating a solid fill source material
-from the given color. This color will be used for any subsequent drawing
-operation.
-The color will be premultiplied by Cogl, so the color should be
-semi-transparent red.
-See also cogl_set_source_color4ub() and cogl_set_source_color4f()
-if you already have the color components.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="color" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglColor</doc>
-          <type name="Color" c:type="CoglColor*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_source_color4f"
-              c:identifier="cogl_set_source_color4f"
-              version="1.0">
-      <doc xml:whitespace="preserve">This is a convenience function for creating a solid fill source material
-from the given color using normalized values for each component. This color
-will be used for any subsequent drawing operation.
-The value for each component is a fixed point number in the range
-between 0 and %1.0. If the values passed in are outside that
-range, they will be clamped.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="red" transfer-ownership="none">
-          <doc xml:whitespace="preserve">value of the red channel, between 0 and %1.0</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="green" transfer-ownership="none">
-          <doc xml:whitespace="preserve">value of the green channel, between 0 and %1.0</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="blue" transfer-ownership="none">
-          <doc xml:whitespace="preserve">value of the blue channel, between 0 and %1.0</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="alpha" transfer-ownership="none">
-          <doc xml:whitespace="preserve">value of the alpha channel, between 0 and %1.0</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_source_color4ub"
-              c:identifier="cogl_set_source_color4ub"
-              version="1.0">
-      <doc xml:whitespace="preserve">This is a convenience function for creating a solid fill source material
-from the given color using unsigned bytes for each component. This
-color will be used for any subsequent drawing operation.
-The value for each component is an unsigned byte in the range
-between 0 and 255.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="red" transfer-ownership="none">
-          <doc xml:whitespace="preserve">value of the red channel, between 0 and 255</doc>
-          <type name="guint8" c:type="guint8"/>
-        </parameter>
-        <parameter name="green" transfer-ownership="none">
-          <doc xml:whitespace="preserve">value of the green channel, between 0 and 255</doc>
-          <type name="guint8" c:type="guint8"/>
-        </parameter>
-        <parameter name="blue" transfer-ownership="none">
-          <doc xml:whitespace="preserve">value of the blue channel, between 0 and 255</doc>
-          <type name="guint8" c:type="guint8"/>
-        </parameter>
-        <parameter name="alpha" transfer-ownership="none">
-          <doc xml:whitespace="preserve">value of the alpha channel, between 0 and 255</doc>
-          <type name="guint8" c:type="guint8"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_source_texture"
-              c:identifier="cogl_set_source_texture"
-              version="1.0">
-      <doc xml:whitespace="preserve">This is a convenience function for creating a material with the first
-layer set to #texture_handle and setting that material as the source with
-cogl_set_source.
-and cogl_set_source_texture. If you need to blend a texture with a color then
-you can create a simple material like this:
-&lt;programlisting&gt;
-material = cogl_material_new ();
-cogl_material_set_color4ub (material, 0xff, 0x00, 0x00, 0x80);
-cogl_material_set_layer (material, 0, tex_handle);
-cogl_set_source (material);
-&lt;/programlisting&gt;</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="texture_handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The Cogl texture you want as your source</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_viewport"
-              c:identifier="cogl_set_viewport"
-              version="1.2">
-      <doc xml:whitespace="preserve">Replaces the current viewport with the given values.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="x" transfer-ownership="none">
-          <doc xml:whitespace="preserve">X offset of the viewport</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="y" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Y offset of the viewport</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="width" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Width of the viewport</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="height" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Height of the viewport</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="shader_compile" c:identifier="cogl_shader_compile">
-      <doc xml:whitespace="preserve">Compiles the shader, no return value, but the shader is now ready for
-linking into a program.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">#CoglHandle for a shader.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="shader_get_info_log"
-              c:identifier="cogl_shader_get_info_log">
-      <doc xml:whitespace="preserve">Retrieves the information log for a coglobject, can be used in conjunction
-with cogl_shader_get_parameteriv() to retrieve the compiler warnings/error
-messages that caused a shader to not compile correctly, mainly useful for
-debugging purposes.
-g_free() to free it</doc>
-      <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a newly allocated string containing the info log. Use</doc>
-        <type name="utf8" c:type="char*"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">#CoglHandle for a shader.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="shader_get_type" c:identifier="cogl_shader_get_type">
-      <doc xml:whitespace="preserve">Retrieves the type of a shader #CoglHandle
-or %COGL_SHADER_TYPE_FRAGMENT if the shader is a frament processor</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%COGL_SHADER_TYPE_VERTEX if the shader is a vertex processor</doc>
-        <type name="ShaderType" c:type="CoglShaderType"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">#CoglHandle for a shader.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="shader_is_compiled" c:identifier="cogl_shader_is_compiled">
-      <doc xml:whitespace="preserve">Retrieves whether a shader #CoglHandle has been compiled</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the shader object has sucessfully be compiled</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">#CoglHandle for a shader.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="shader_ref"
-              c:identifier="cogl_shader_ref"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Add an extra reference to a shader.</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">@handle</doc>
-        <type name="Handle" c:type="CoglHandle"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A #CoglHandle to a shader.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="shader_source" c:identifier="cogl_shader_source">
-      <doc xml:whitespace="preserve">Replaces the current GLSL source associated with a shader with a new
-one.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="shader" transfer-ownership="none">
-          <doc xml:whitespace="preserve">#CoglHandle for a shader.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-        <parameter name="source" transfer-ownership="none">
-          <doc xml:whitespace="preserve">GLSL shader source.</doc>
-          <type name="utf8" c:type="char*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="shader_unref" c:identifier="cogl_shader_unref">
-      <doc xml:whitespace="preserve">Removes a reference to a shader. If it was the last reference the
-shader object will be destroyed.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A #CoglHandle to a shader.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="sqrti" c:identifier="cogl_sqrti" version="1.0">
-      <doc xml:whitespace="preserve">Very fast fixed point implementation of square root for integers.
-This function is at least 6x faster than clib sqrt() on x86, and (this is
-not a typo!) about 500x faster on ARM without FPU. It's error is less than
-5% for arguments smaller than %COGL_SQRTI_ARG_5_PERCENT and less than 10%
-for narguments smaller than %COGL_SQRTI_ARG_10_PERCENT. The maximum
-argument that can be passed to this function is %COGL_SQRTI_ARG_MAX.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">integer square root.</doc>
-        <type name="gint" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="x" transfer-ownership="none">
-          <doc xml:whitespace="preserve">integer value</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_3d_new_from_data_EXP"
-              c:identifier="cogl_texture_3d_new_from_data_EXP"
-              introspectable="0"
-              throws="1">
-      <return-value>
-        <type name="Handle" c:type="CoglHandle"/>
-      </return-value>
-      <parameters>
-        <parameter name="width" transfer-ownership="none">
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="height" transfer-ownership="none">
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="depth" transfer-ownership="none">
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="flags" transfer-ownership="none">
-          <type name="TextureFlags" c:type="CoglTextureFlags"/>
-        </parameter>
-        <parameter name="format" transfer-ownership="none">
-          <type name="PixelFormat" c:type="CoglPixelFormat"/>
-        </parameter>
-        <parameter name="internal_format" transfer-ownership="none">
-          <type name="PixelFormat" c:type="CoglPixelFormat"/>
-        </parameter>
-        <parameter name="rowstride" transfer-ownership="none">
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="image_stride" transfer-ownership="none">
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="data" transfer-ownership="none">
-          <type name="guint8" c:type="guint8*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_3d_new_with_size_EXP"
-              c:identifier="cogl_texture_3d_new_with_size_EXP"
-              introspectable="0"
-              throws="1">
-      <return-value>
-        <type name="Handle" c:type="CoglHandle"/>
-      </return-value>
-      <parameters>
-        <parameter name="width" transfer-ownership="none">
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="height" transfer-ownership="none">
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="depth" transfer-ownership="none">
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="flags" transfer-ownership="none">
-          <type name="TextureFlags" c:type="CoglTextureFlags"/>
-        </parameter>
-        <parameter name="internal_format" transfer-ownership="none">
-          <type name="PixelFormat" c:type="CoglPixelFormat"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_get_data" c:identifier="cogl_texture_get_data">
-      <doc xml:whitespace="preserve">Copies the pixel data from a cogl texture to system memory.
-is not valid</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the size of the texture data in bytes, or 0 if the texture</doc>
-        <type name="gint" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglHandle for a texture.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-        <parameter name="format" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #CoglPixelFormat to store the texture as.</doc>
-          <type name="PixelFormat" c:type="CoglPixelFormat"/>
-        </parameter>
-        <parameter name="rowstride" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the rowstride of @data or retrieved from texture if none is specified.</doc>
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="data" transfer-ownership="none">
-          <doc xml:whitespace="preserve">memory location to write contents of buffer, or %NULL if we're only querying the data size through the return value.</doc>
-          <type name="guint8" c:type="guint8*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_get_format" c:identifier="cogl_texture_get_format">
-      <doc xml:whitespace="preserve">Queries the #CoglPixelFormat of a cogl texture.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the #CoglPixelFormat of the GPU side texture</doc>
-        <type name="PixelFormat" c:type="CoglPixelFormat"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglHandle for a texture.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_get_gl_texture"
-              c:identifier="cogl_texture_get_gl_texture">
-      <doc xml:whitespace="preserve">Queries the GL handles for a GPU side texture through its #CoglHandle.
-If the texture is spliced the data for the first sub texture will be
-queried.
-if the handle was invalid</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the handle was successfully retrieved, %FALSE</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglHandle for a texture.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-        <parameter name="out_gl_handle"
-                   direction="out"
-                   caller-allocates="1"
-                   transfer-ownership="none"
-                   allow-none="1">
-          <doc xml:whitespace="preserve">pointer to return location for the textures GL handle, or %NULL.</doc>
-          <type name="GL.uint" c:type="GLuint*"/>
-        </parameter>
-        <parameter name="out_gl_target"
-                   direction="out"
-                   caller-allocates="1"
-                   transfer-ownership="none"
-                   allow-none="1">
-          <doc xml:whitespace="preserve">pointer to return location for the GL target type, or %NULL.</doc>
-          <type name="GL.enum" c:type="GLenum*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_get_height" c:identifier="cogl_texture_get_height">
-      <doc xml:whitespace="preserve">Queries the height of a cogl texture.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the height of the GPU side texture in pixels</doc>
-        <type name="guint" c:type="unsigned int"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglHandle for a texture.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_get_max_waste"
-              c:identifier="cogl_texture_get_max_waste">
-      <doc xml:whitespace="preserve">Queries the maximum wasted (unused) pixels in one dimension of a GPU side
-texture.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the maximum waste</doc>
-        <type name="gint" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglHandle for a texture.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_get_rowstride"
-              c:identifier="cogl_texture_get_rowstride">
-      <doc xml:whitespace="preserve">Queries the rowstride of a cogl texture.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the offset in bytes between each consequetive row of pixels</doc>
-        <type name="guint" c:type="unsigned int"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglHandle for a texture.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_get_width" c:identifier="cogl_texture_get_width">
-      <doc xml:whitespace="preserve">Queries the width of a cogl texture.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the width of the GPU side texture in pixels</doc>
-        <type name="guint" c:type="unsigned int"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglHandle for a texture.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_is_sliced" c:identifier="cogl_texture_is_sliced">
-      <doc xml:whitespace="preserve">Queries if a texture is sliced (stored as multiple GPU side tecture
-objects).
-is stored as a single GPU texture</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the texture is sliced, %FALSE if the texture</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglHandle for a texture.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_new_from_bitmap"
-              c:identifier="cogl_texture_new_from_bitmap"
-              version="1.0"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Creates a COGL texture from a CoglBitmap.
-%COGL_INVALID_HANDLE on failure</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">a #CoglHandle to the newly created texture or</doc>
-        <type name="Handle" c:type="CoglHandle"/>
-      </return-value>
-      <parameters>
-        <parameter name="bmp_handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A CoglBitmap handle</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-        <parameter name="flags" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Optional flags for the texture, or %COGL_TEXTURE_NONE</doc>
-          <type name="TextureFlags" c:type="CoglTextureFlags"/>
-        </parameter>
-        <parameter name="internal_format" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #CoglPixelFormat to use for the GPU storage of the texture</doc>
-          <type name="PixelFormat" c:type="CoglPixelFormat"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_new_from_buffer"
-              c:identifier="cogl_texture_new_from_buffer"
-              version="1.2"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Creates a new texture using the buffer specified by @handle. If the buffer
-has been created using cogl_pixel_buffer_new_for_size() it's possible to omit
-the height and width values already specified at creation time.
-failure</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">a #CoglHandle to the new texture or %COGL_INVALID_HANDLE on</doc>
-        <type name="Handle" c:type="CoglHandle"/>
-      </return-value>
-      <parameters>
-        <parameter name="buffer" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #CoglHandle of a pixel buffer</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-        <parameter name="width" transfer-ownership="none">
-          <doc xml:whitespace="preserve">width of texture in pixels or 0</doc>
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="height" transfer-ownership="none">
-          <doc xml:whitespace="preserve">height of texture in pixels or 0</doc>
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="flags" transfer-ownership="none">
-          <doc xml:whitespace="preserve">optional flags for the texture, or %COGL_TEXTURE_NONE</doc>
-          <type name="TextureFlags" c:type="CoglTextureFlags"/>
-        </parameter>
-        <parameter name="format" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #CoglPixelFormat the buffer is stored in in RAM</doc>
-          <type name="PixelFormat" c:type="CoglPixelFormat"/>
-        </parameter>
-        <parameter name="internal_format" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #CoglPixelFormat that will be used for storing the buffer on the GPU. If %COGL_PIXEL_FORMAT_ANY is given then a premultiplied format similar to the format of the source data will be used. The default blending equations of Cogl expect premultiplied color data; the main use of passing a non-premultiplied format here is if you have non-premultiplied source data and are going to adjust the blend mode (see cogl_material_set_blend()) or use the data for something other than straight blending</doc>
-          <type name="PixelFormat" c:type="CoglPixelFormat"/>
-        </parameter>
-        <parameter name="rowstride" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the memory offset in bytes between the starts of scanlines in @data. If 0 is given the row stride will be deduced from</doc>
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="offset" transfer-ownership="none">
-          <doc xml:whitespace="preserve">offset in bytes in @buffer from where the texture data starts</doc>
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_new_from_buffer_EXP"
-              c:identifier="cogl_texture_new_from_buffer_EXP"
-              introspectable="0">
-      <return-value>
-        <type name="Handle" c:type="CoglHandle"/>
-      </return-value>
-      <parameters>
-        <parameter name="buffer" transfer-ownership="none">
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-        <parameter name="width" transfer-ownership="none">
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="height" transfer-ownership="none">
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="flags" transfer-ownership="none">
-          <type name="TextureFlags" c:type="CoglTextureFlags"/>
-        </parameter>
-        <parameter name="format" transfer-ownership="none">
-          <type name="PixelFormat" c:type="CoglPixelFormat"/>
-        </parameter>
-        <parameter name="internal_format" transfer-ownership="none">
-          <type name="PixelFormat" c:type="CoglPixelFormat"/>
-        </parameter>
-        <parameter name="rowstride" transfer-ownership="none">
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="offset" transfer-ownership="none">
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_new_from_data"
-              c:identifier="cogl_texture_new_from_data"
-              version="0.8"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Creates a new COGL texture based on data residing in memory.
-%COGL_INVALID_HANDLE on failure</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">a #CoglHandle to the newly created texture or</doc>
-        <type name="Handle" c:type="CoglHandle"/>
-      </return-value>
-      <parameters>
-        <parameter name="width" transfer-ownership="none">
-          <doc xml:whitespace="preserve">width of texture in pixels</doc>
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="height" transfer-ownership="none">
-          <doc xml:whitespace="preserve">height of texture in pixels</doc>
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="flags" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Optional flags for the texture, or %COGL_TEXTURE_NONE</doc>
-          <type name="TextureFlags" c:type="CoglTextureFlags"/>
-        </parameter>
-        <parameter name="format" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #CoglPixelFormat the buffer is stored in in RAM</doc>
-          <type name="PixelFormat" c:type="CoglPixelFormat"/>
-        </parameter>
-        <parameter name="internal_format" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #CoglPixelFormat that will be used for storing the buffer on the GPU. If COGL_PIXEL_FORMAT_ANY is given then a premultiplied format similar to the format of the source data will be used. The default blending equations of Cogl expect premultiplied color data; the main use of passing a non-premultiplied format here is if you have non-premultiplied source data and are going to adjust the blend mode (see cogl_material_set_blend()) or use the data for something other than straight blending.</doc>
-          <type name="PixelFormat" c:type="CoglPixelFormat"/>
-        </parameter>
-        <parameter name="rowstride" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the memory offset in bytes between the starts of scanlines in @data</doc>
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="data" transfer-ownership="none">
-          <doc xml:whitespace="preserve">pointer the memory region where the source buffer resides</doc>
-          <type name="guint8" c:type="guint8*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_new_from_file"
-              c:identifier="cogl_texture_new_from_file"
-              version="0.8"
-              introspectable="0"
-              throws="1">
-      <doc xml:whitespace="preserve">Creates a COGL texture from an image file.
-%COGL_INVALID_HANDLE on failure</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">a #CoglHandle to the newly created texture or</doc>
-        <type name="Handle" c:type="CoglHandle"/>
-      </return-value>
-      <parameters>
-        <parameter name="filename" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the file to load</doc>
-          <type name="utf8" c:type="char*"/>
-        </parameter>
-        <parameter name="flags" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Optional flags for the texture, or %COGL_TEXTURE_NONE</doc>
-          <type name="TextureFlags" c:type="CoglTextureFlags"/>
-        </parameter>
-        <parameter name="internal_format" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #CoglPixelFormat to use for the GPU storage of the texture. If %COGL_PIXEL_FORMAT_ANY is given then a premultiplied format similar to the format of the source data will be used. The default blending equations of Cogl expect premultiplied color data; the main use of passing a non-premultiplied format here is if you have non-premultiplied source data and are going to adjust the blend mode (see cogl_material_set_blend()) or use the data for something other than straight blending.</doc>
-          <type name="PixelFormat" c:type="CoglPixelFormat"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_new_from_foreign"
-              c:identifier="cogl_texture_new_from_foreign"
-              version="0.8"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Creates a COGL texture based on an existing OpenGL texture; the
-width, height and format are passed along since it is not always
-possible to query these from OpenGL.
-The waste arguments allow you to create a Cogl texture that maps to
-a region smaller than the real OpenGL texture. For instance if your
-hardware only supports power-of-two textures you may load a
-non-power-of-two image into a larger power-of-two texture and use
-the waste arguments to tell Cogl which region should be mapped to
-the texture coordinate range [0:1].
-%COGL_INVALID_HANDLE on failure</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">a #CoglHandle to the newly created texture or</doc>
-        <type name="Handle" c:type="CoglHandle"/>
-      </return-value>
-      <parameters>
-        <parameter name="gl_handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">opengl handle of foreign texture.</doc>
-          <type name="GL.uint" c:type="GLuint"/>
-        </parameter>
-        <parameter name="gl_target" transfer-ownership="none">
-          <doc xml:whitespace="preserve">opengl target type of foreign texture</doc>
-          <type name="GL.enum" c:type="GLenum"/>
-        </parameter>
-        <parameter name="width" transfer-ownership="none">
-          <doc xml:whitespace="preserve">width of foreign texture</doc>
-          <type name="GL.uint" c:type="GLuint"/>
-        </parameter>
-        <parameter name="height" transfer-ownership="none">
-          <doc xml:whitespace="preserve">height of foreign texture.</doc>
-          <type name="GL.uint" c:type="GLuint"/>
-        </parameter>
-        <parameter name="x_pot_waste" transfer-ownership="none">
-          <doc xml:whitespace="preserve">horizontal waste on the right hand edge of the texture.</doc>
-          <type name="GL.uint" c:type="GLuint"/>
-        </parameter>
-        <parameter name="y_pot_waste" transfer-ownership="none">
-          <doc xml:whitespace="preserve">vertical waste on the bottom edge of the texture.</doc>
-          <type name="GL.uint" c:type="GLuint"/>
-        </parameter>
-        <parameter name="format" transfer-ownership="none">
-          <doc xml:whitespace="preserve">format of the foreign texture.</doc>
-          <type name="PixelFormat" c:type="CoglPixelFormat"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_new_from_sub_texture"
-              c:identifier="cogl_texture_new_from_sub_texture"
-              version="1.2"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Creates a new texture which represents a subregion of another
-texture. The GL resources will be shared so that no new texture
-data is actually allocated.
-Sub textures have undefined behaviour texture coordinates outside
-of the range [0,1] are used. They also do not work with
-CoglVertexBuffers.
-The sub texture will keep a reference to the full texture so you do
-not need to keep one separately if you only want to use the sub
-texture.</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">a #CoglHandle to the new texture.</doc>
-        <type name="Handle" c:type="CoglHandle"/>
-      </return-value>
-      <parameters>
-        <parameter name="full_texture" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglHandle to an existing texture</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-        <parameter name="sub_x" transfer-ownership="none">
-          <doc xml:whitespace="preserve">X coordinate of the top-left of the subregion</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="sub_y" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Y coordinate of the top-left of the subregion</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="sub_width" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Width in pixels of the subregion</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="sub_height" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Height in pixels of the subregion</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_new_with_size"
-              c:identifier="cogl_texture_new_with_size"
-              version="0.8"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Creates a new COGL texture with the specified dimensions and pixel format.
-%COGL_INVALID_HANDLE on failure</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">a #CoglHandle to the newly created texture or</doc>
-        <type name="Handle" c:type="CoglHandle"/>
-      </return-value>
-      <parameters>
-        <parameter name="width" transfer-ownership="none">
-          <doc xml:whitespace="preserve">width of texture in pixels.</doc>
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="height" transfer-ownership="none">
-          <doc xml:whitespace="preserve">height of texture in pixels.</doc>
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="flags" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Optional flags for the texture, or %COGL_TEXTURE_NONE</doc>
-          <type name="TextureFlags" c:type="CoglTextureFlags"/>
-        </parameter>
-        <parameter name="internal_format" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #CoglPixelFormat to use for the GPU storage of the texture.</doc>
-          <type name="PixelFormat" c:type="CoglPixelFormat"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_pixmap_x11_is_using_tfp_extension_EXP"
-              c:identifier="cogl_texture_pixmap_x11_is_using_tfp_extension_EXP">
-      <return-value transfer-ownership="none">
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_pixmap_x11_new_EXP"
-              c:identifier="cogl_texture_pixmap_x11_new_EXP"
-              introspectable="0">
-      <return-value>
-        <type name="Handle" c:type="CoglHandle"/>
-      </return-value>
-      <parameters>
-        <parameter name="pixmap" transfer-ownership="none">
-          <type name="guint32" c:type="guint32"/>
-        </parameter>
-        <parameter name="automatic_updates" transfer-ownership="none">
-          <type name="gboolean" c:type="gboolean"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_pixmap_x11_set_damage_object_EXP"
-              c:identifier="cogl_texture_pixmap_x11_set_damage_object_EXP">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-        <parameter name="damage" transfer-ownership="none">
-          <type name="guint32" c:type="guint32"/>
-        </parameter>
-        <parameter name="report_level" transfer-ownership="none">
-          <type name="TexturePixmapX11ReportLevel"
-                c:type="CoglTexturePixmapX11ReportLevel"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_pixmap_x11_update_area_EXP"
-              c:identifier="cogl_texture_pixmap_x11_update_area_EXP">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-        <parameter name="x" transfer-ownership="none">
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="y" transfer-ownership="none">
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="width" transfer-ownership="none">
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="height" transfer-ownership="none">
-          <type name="gint" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_ref"
-              c:identifier="cogl_texture_ref"
-              introspectable="0"
-              deprecated="Use cogl_handle_ref() instead"
-              deprecated-version="1.2">
-      <doc xml:whitespace="preserve">Increment the reference count for a cogl texture.</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">the @handle.</doc>
-        <type name="Handle" c:type="CoglHandle"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a @CoglHandle.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_set_region" c:identifier="cogl_texture_set_region">
-      <doc xml:whitespace="preserve">Sets the pixels in a rectangular subregion of @handle from an in-memory
-buffer containing pixel data.
-%FALSE otherwise</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the subregion upload was successful, and</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglHandle.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-        <parameter name="src_x" transfer-ownership="none">
-          <doc xml:whitespace="preserve">upper left coordinate to use from source data.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="src_y" transfer-ownership="none">
-          <doc xml:whitespace="preserve">upper left coordinate to use from source data.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="dst_x" transfer-ownership="none">
-          <doc xml:whitespace="preserve">upper left destination horizontal coordinate.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="dst_y" transfer-ownership="none">
-          <doc xml:whitespace="preserve">upper left destination vertical coordinate.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="dst_width" transfer-ownership="none">
-          <doc xml:whitespace="preserve">width of destination region to write.</doc>
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="dst_height" transfer-ownership="none">
-          <doc xml:whitespace="preserve">height of destination region to write.</doc>
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="width" transfer-ownership="none">
-          <doc xml:whitespace="preserve">width of source data buffer.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="height" transfer-ownership="none">
-          <doc xml:whitespace="preserve">height of source data buffer.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="format" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #CoglPixelFormat used in the source buffer.</doc>
-          <type name="PixelFormat" c:type="CoglPixelFormat"/>
-        </parameter>
-        <parameter name="rowstride" transfer-ownership="none">
-          <doc xml:whitespace="preserve">rowstride of source buffer (computed from width if none specified)</doc>
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="data" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the actual pixel data.</doc>
-          <type name="guint8" c:type="guint8*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_unref"
-              c:identifier="cogl_texture_unref"
-              deprecated="Use cogl_handle_unref() instead"
-              deprecated-version="1.2">
-      <doc xml:whitespace="preserve">Decrement the reference count for a cogl texture.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a @CoglHandle.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="transform" c:identifier="cogl_transform" version="1.4">
-      <doc xml:whitespace="preserve">Multiplies the current model-view matrix by the given matrix.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="matrix" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the matrix to multiply with the current model-view</doc>
-          <type name="Matrix" c:type="CoglMatrix*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="translate" c:identifier="cogl_translate">
-      <doc xml:whitespace="preserve">Multiplies the current model-view matrix by one that translates the
-model along all three axes according to the given values.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="x" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Distance to translate along the x-axis</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="y" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Distance to translate along the y-axis</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-        <parameter name="z" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Distance to translate along the z-axis</doc>
-          <type name="gfloat" c:type="float"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="vector3_equal_EXP" c:identifier="cogl_vector3_equal_EXP">
-      <return-value transfer-ownership="none">
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="v1" transfer-ownership="none">
-          <type name="gpointer" c:type="gconstpointer"/>
-        </parameter>
-        <parameter name="v2" transfer-ownership="none">
-          <type name="gpointer" c:type="gconstpointer"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="vertex_buffer_add" c:identifier="cogl_vertex_buffer_add">
-      <doc xml:whitespace="preserve">Adds an attribute to a buffer.
-You either can use one of the built-in names such as "gl_Vertex", or
-"gl_MultiTexCoord0" to add standard attributes, like positions, colors
-and normals, or you can add custom attributes for use in shaders.
-The number of vertices declared when calling cogl_vertex_buffer_new()
-determines how many attribute values will be read from the supplied
-The data for your attribute isn't copied anywhere until you call
-cogl_vertex_buffer_submit(), or issue a draw call which automatically
-submits pending attribute changes. so the supplied pointer must remain
-valid until then. If you are updating an existing attribute (done by
-re-adding it) then you still need to re-call cogl_vertex_buffer_submit()
-to commit the changes to the GPU. Be carefull to minimize the number
-of calls to cogl_vertex_buffer_submit(), though.
-&lt;note&gt;If you are interleving attributes it is assumed that each interleaved
-attribute starts no farther than +- stride bytes from the other attributes
-it is interleved with. I.e. this is ok:
-&lt;programlisting&gt;
-|-0-0-0-0-0-0-0-0-0-0|
-&lt;/programlisting&gt;
-This is not ok:
-&lt;programlisting&gt;
-|- - - - -0-0-0-0-0-0 0 0 0 0|
-&lt;/programlisting&gt;
-(Though you can have multiple groups of interleved attributes)&lt;/note&gt;</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A vertex buffer handle</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-        <parameter name="attribute_name" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The name of your attribute. It should be a valid GLSL variable name and standard attribute types must use one of following built-in names: (Note: they correspond to the built-in names of GLSL) &lt;itemizedlist&gt; &lt;listitem&gt;"gl_Color"&lt;/listitem&gt; &lt;listitem&gt;"gl_Normal"&lt;/listitem&gt; &lt;listitem&gt;"gl_MultiTexCoord0, gl_MultiTexCoord1, ..."&lt;/listitem&gt; &lt;listitem&gt;"gl_Vertex"&lt;/listitem&gt; &lt;/itemizedlist&gt; To support adding multiple variations of the same attribute the name can have a detail component, E.g. "gl_Color::active" or "gl_Color::inactive"</doc>
-          <type name="utf8" c:type="char*"/>
-        </parameter>
-        <parameter name="n_components" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The number of components per attribute and must be 1, 2, 3 or 4</doc>
-          <type name="guint8" c:type="guint8"/>
-        </parameter>
-        <parameter name="type" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglAttributeType specifying the data type of each component.</doc>
-          <type name="AttributeType" c:type="CoglAttributeType"/>
-        </parameter>
-        <parameter name="normalized" transfer-ownership="none">
-          <doc xml:whitespace="preserve">If %TRUE, this specifies that values stored in an integer format should be mapped into the range [-1.0, 1.0] or [0.0, 1.0] for unsigned values. If %FALSE they are converted to floats directly.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </parameter>
-        <parameter name="stride" transfer-ownership="none">
-          <doc xml:whitespace="preserve">This specifies the number of bytes from the start of one attribute value to the start of the next value (for the same attribute). So, for example, with a position interleved with color like this: XYRGBAXYRGBAXYRGBA, then if each letter represents a byte, the stride for both attributes is 6. The special value 0 means the values are stored sequentially in memory.</doc>
-          <type name="guint16" c:type="guint16"/>
-        </parameter>
-        <parameter name="pointer" transfer-ownership="none">
-          <doc xml:whitespace="preserve">This addresses the first attribute in the vertex array. This must remain valid until you either call cogl_vertex_buffer_submit() or issue a draw call.</doc>
-          <type name="gpointer" c:type="void*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="vertex_buffer_delete"
-              c:identifier="cogl_vertex_buffer_delete">
-      <doc xml:whitespace="preserve">Deletes an attribute from a buffer. You will need to call
-cogl_vertex_buffer_submit() or issue a draw call to commit this
-change to the GPU.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A vertex buffer handle</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-        <parameter name="attribute_name" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The name of a previously added attribute</doc>
-          <type name="utf8" c:type="char*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="vertex_buffer_disable"
-              c:identifier="cogl_vertex_buffer_disable">
-      <doc xml:whitespace="preserve">Disables a previosuly added attribute.
-Since it can be costly to add and remove new attributes to buffers; to make
-individual buffers more reuseable it is possible to enable and disable
-attributes before using a buffer for drawing.
-You don't need to call cogl_vertex_buffer_submit() after using this
-function.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A vertex buffer handle</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-        <parameter name="attribute_name" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The name of the attribute you want to disable</doc>
-          <type name="utf8" c:type="char*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="vertex_buffer_draw" c:identifier="cogl_vertex_buffer_draw">
-      <doc xml:whitespace="preserve">Allows you to draw geometry using all or a subset of the
-vertices in a vertex buffer.
-Any un-submitted attribute changes are automatically submitted before
-drawing.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A vertex buffer handle</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-        <parameter name="mode" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A #CoglVerticesMode specifying how the vertices should be interpreted.</doc>
-          <type name="VerticesMode" c:type="CoglVerticesMode"/>
-        </parameter>
-        <parameter name="first" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Specifies the index of the first vertex you want to draw with</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="count" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Specifies the number of vertices you want to draw.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="vertex_buffer_draw_elements"
-              c:identifier="cogl_vertex_buffer_draw_elements">
-      <doc xml:whitespace="preserve">This function lets you use an array of indices to specify the vertices
-within your vertex buffer that you want to draw. The indices themselves
-are created by calling cogl_vertex_buffer_indices_new ()
-Any un-submitted attribute changes are automatically submitted before
-drawing.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A vertex buffer handle</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-        <parameter name="mode" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A #CoglVerticesMode specifying how the vertices should be interpreted.</doc>
-          <type name="VerticesMode" c:type="CoglVerticesMode"/>
-        </parameter>
-        <parameter name="indices" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A CoglHandle for a set of indices allocated via cogl_vertex_buffer_indices_new ()</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-        <parameter name="min_index" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Specifies the minimum vertex index contained in indices</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="max_index" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Specifies the maximum vertex index contained in indices</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="indices_offset" transfer-ownership="none">
-          <doc xml:whitespace="preserve">An offset into named indices. The offset marks the first index to use for drawing.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-        <parameter name="count" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Specifies the number of vertices you want to draw.</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="vertex_buffer_enable"
-              c:identifier="cogl_vertex_buffer_enable">
-      <doc xml:whitespace="preserve">Enables a previosuly disabled attribute.
-Since it can be costly to add and remove new attributes to buffers; to make
-individual buffers more reuseable it is possible to enable and disable
-attributes before using a buffer for drawing.
-You don't need to call cogl_vertex_buffer_submit() after using this function</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A vertex buffer handle</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-        <parameter name="attribute_name" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The name of the attribute you want to enable</doc>
-          <type name="utf8" c:type="char*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="vertex_buffer_get_n_vertices"
-              c:identifier="cogl_vertex_buffer_get_n_vertices">
-      <doc xml:whitespace="preserve">Retrieves the number of vertices that @handle represents</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the number of vertices</doc>
-        <type name="guint" c:type="unsigned int"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A vertex buffer handle</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="vertex_buffer_indices_get_for_quads"
-              c:identifier="cogl_vertex_buffer_indices_get_for_quads"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Creates a vertex buffer containing the indices needed to draw pairs
-of triangles from a list of vertices grouped as quads. There will
-be at least @n_indices entries in the buffer (but there may be
-more).
-The indices will follow this pattern:
-0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7 ... etc
-For example, if you submit vertices for a quad like like that shown
-in &lt;xref linkend="quad-indices-order"/&gt; then you can request 6
-indices to render two triangles like those shown in &lt;xref
-linkend="quad-indices-triangles"/&gt;.
-&lt;figure id="quad-indices-order"&gt;
-&lt;title&gt;Example of vertices submitted to form a quad&lt;/title&gt;
-&lt;graphic fileref="quad-indices-order.png" format="PNG"/&gt;
-&lt;/figure&gt;
-&lt;figure id="quad-indices-triangles"&gt;
-&lt;title&gt;Illustration of the triangle indices that will be generated&lt;/title&gt;
-&lt;graphic fileref="quad-indices-triangles.png" format="PNG"/&gt;
-&lt;/figure&gt;
-owned by Cogl and should not be modified or unref'd.</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">A %CoglHandle containing the indices. The handled is</doc>
-        <type name="Handle" c:type="CoglHandle"/>
-      </return-value>
-      <parameters>
-        <parameter name="n_indices" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of indices in the vertex buffer.</doc>
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="vertex_buffer_indices_get_type"
-              c:identifier="cogl_vertex_buffer_indices_get_type">
-      <doc xml:whitespace="preserve">Queries back the data type used for the given indices</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">The CoglIndicesType used</doc>
-        <type name="IndicesType" c:type="CoglIndicesType"/>
-      </return-value>
-      <parameters>
-        <parameter name="indices" transfer-ownership="none">
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="vertex_buffer_indices_new"
-              c:identifier="cogl_vertex_buffer_indices_new"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Depending on how much geometry you are submitting it can be worthwhile
-optimizing the number of redundant vertices you submit. Using an index
-array allows you to reference vertices multiple times, for example
-during triangle strips.
-cogl_vertex_buffer_draw_elements().</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">A CoglHandle for the indices which you can pass to</doc>
-        <type name="Handle" c:type="CoglHandle"/>
-      </return-value>
-      <parameters>
-        <parameter name="indices_type" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #CoglIndicesType specifying the data type used for the indices.</doc>
-          <type name="IndicesType" c:type="CoglIndicesType"/>
-        </parameter>
-        <parameter name="indices_array" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Specifies the address of your array of indices</doc>
-          <array length="2" c:type="void*">
-            <type name="gpointer"/>
-          </array>
-        </parameter>
-        <parameter name="indices_len" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The number of indices in indices_array</doc>
-          <type name="gint" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="vertex_buffer_new"
-              c:identifier="cogl_vertex_buffer_new"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Creates a new vertex buffer that you can use to add attributes.</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">a new #CoglHandle</doc>
-        <type name="Handle" c:type="CoglHandle"/>
-      </return-value>
-      <parameters>
-        <parameter name="n_vertices" transfer-ownership="none">
-          <doc xml:whitespace="preserve">The number of vertices that your attributes will correspond to.</doc>
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="vertex_buffer_ref"
-              c:identifier="cogl_vertex_buffer_ref"
-              introspectable="0"
-              deprecated="Use cogl_handle_ref() instead"
-              deprecated-version="1.2">
-      <doc xml:whitespace="preserve">Increment the reference count for a vertex buffer</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">the @handle.</doc>
-        <type name="Handle" c:type="CoglHandle"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a @CoglHandle.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="vertex_buffer_submit"
-              c:identifier="cogl_vertex_buffer_submit">
-      <doc xml:whitespace="preserve">Submits all the user added attributes to the GPU; once submitted, the
-attributes can be used for drawing.
-You should aim to minimize calls to this function since it implies
-validating your data; it potentially incurs a transport cost (especially if
-you are using GLX indirect rendering) and potentially a format conversion
-cost if the GPU doesn't natively support any of the given attribute formats.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">A vertex buffer handle</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="vertex_buffer_unref"
-              c:identifier="cogl_vertex_buffer_unref"
-              deprecated="Use cogl_handle_unref() instead"
-              deprecated-version="1.2">
-      <doc xml:whitespace="preserve">Decrement the reference count for a vertex buffer</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="handle" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a @CoglHandle.</doc>
-          <type name="Handle" c:type="CoglHandle"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="viewport"
-              c:identifier="cogl_viewport"
-              version="0.8.2"
-              deprecated="Use cogl_set_viewport() instead"
-              deprecated-version="1.2">
-      <doc xml:whitespace="preserve">Replace the current viewport with the given values.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="width" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Width of the viewport</doc>
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-        <parameter name="height" transfer-ownership="none">
-          <doc xml:whitespace="preserve">Height of the viewport</doc>
-          <type name="guint" c:type="unsigned int"/>
-        </parameter>
-      </parameters>
-    </function>
-  </namespace>
-</repository>
index 199fa07272406c98230f837382c8881c0e29e12b..b4752d402a83f9a2152f00c078b2e1f83b0547d6 100644 (file)
@@ -21,5 +21,5 @@ LIBRARY: clutter.cogl
 FOREIGN-ATOMIC-TYPE: GL.uint GLuint
 FOREIGN-ATOMIC-TYPE: GL.enum GLenum
 
-GIR: vocab:clutter/cogl/Cogl-1.0.gir
+GIR: Cogl-1.0.gir
 
index 4a4441296caef08b84d1bf7856fb09503b8affc0..06ff981f65f2a3ac8dd2e139fc9b38f1242baa4b 100644 (file)
@@ -23,5 +23,5 @@ LIBRARY: clutter
 
 FOREIGN-RECORD-TYPE: cairo.Path cairo_path_t
 
-GIR: vocab:clutter/Clutter-1.0.gir
+GIR: Clutter-1.0.gir
 
diff --git a/extra/clutter/gtk/GtkClutter-0.10.gir b/extra/clutter/gtk/GtkClutter-0.10.gir
deleted file mode 100644 (file)
index 3811379..0000000
+++ /dev/null
@@ -1,912 +0,0 @@
-<?xml version="1.0"?>
-<!-- This file was automatically generated from C sources - DO NOT EDIT!
-To affect the contents of this file, edit the original C definitions,
-and/or use gtk-doc annotations.  -->
-<repository version="1.2"
-            xmlns="http://www.gtk.org/introspection/core/1.0"
-            xmlns:c="http://www.gtk.org/introspection/c/1.0"
-            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
-  <include name="Atk" version="1.0"/>
-  <include name="Clutter" version="1.0"/>
-  <include name="Cogl" version="1.0"/>
-  <include name="GL" version="1.0"/>
-  <include name="GLib" version="2.0"/>
-  <include name="GModule" version="2.0"/>
-  <include name="GObject" version="2.0"/>
-  <include name="Gdk" version="2.0"/>
-  <include name="GdkPixbuf" version="2.0"/>
-  <include name="Gio" version="2.0"/>
-  <include name="Gtk" version="2.0"/>
-  <include name="Json" version="1.0"/>
-  <include name="Pango" version="1.0"/>
-  <include name="PangoCairo" version="1.0"/>
-  <include name="PangoFT2" version="1.0"/>
-  <include name="cairo" version="1.0"/>
-  <include name="fontconfig" version="2.0"/>
-  <include name="freetype2" version="2.0"/>
-  <namespace name="GtkClutter"
-             version="0.10"
-             shared-library="libclutter-gtk-0.10.so.0"
-             c:identifier-prefixes="GtkClutter"
-             c:symbol-prefixes="gtk_clutter">
-    <class name="Embed"
-           c:symbol-prefix="embed"
-           c:type="GtkClutterEmbed"
-           version="0.6"
-           parent="Gtk.Container"
-           glib:type-name="GtkClutterEmbed"
-           glib:get-type="gtk_clutter_embed_get_type"
-           glib:type-struct="EmbedClass">
-      <doc xml:whitespace="preserve">A #GtkWidget containing the default Clutter stage.</doc>
-      <implements name="Atk.ImplementorIface"/>
-      <implements name="Gtk.Buildable"/>
-      <constructor name="new"
-                   c:identifier="gtk_clutter_embed_new"
-                   version="0.6">
-        <doc xml:whitespace="preserve">Creates a new #GtkClutterEmbed widget. This widget can be
-used to build a scene using Clutter API into a GTK+ application.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created #GtkClutterEmbed</doc>
-          <type name="Gtk.Widget" c:type="GtkWidget*"/>
-        </return-value>
-      </constructor>
-      <method name="get_stage"
-              c:identifier="gtk_clutter_embed_get_stage"
-              version="0.6">
-        <doc xml:whitespace="preserve">Retrieves the #ClutterStage from @embed. The returned stage can be
-used to add actors to the Clutter scene. Multiple calls to this function
-on the same #GtkClutterEmbed widget will return the same stage.
-or unref the returned actor.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterStage. You should never destroy</doc>
-          <type name="Clutter.Actor" c:type="ClutterActor*"/>
-        </return-value>
-      </method>
-      <field name="parent_instance">
-        <type name="Gtk.Container" c:type="GtkContainer"/>
-      </field>
-      <field name="priv">
-        <type name="EmbedPrivate" c:type="GtkClutterEmbedPrivate*"/>
-      </field>
-    </class>
-    <record name="EmbedClass"
-            c:type="GtkClutterEmbedClass"
-            glib:is-gtype-struct-for="Embed"
-            version="0.6">
-      <doc xml:whitespace="preserve">Base class for #GtkClutterEmbed.</doc>
-      <field name="parent_class">
-        <type name="Gtk.ContainerClass" c:type="GtkContainerClass"/>
-      </field>
-      <field name="_clutter_gtk_reserved1" introspectable="0">
-        <callback name="_clutter_gtk_reserved1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_gtk_reserved2" introspectable="0">
-        <callback name="_clutter_gtk_reserved2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_gtk_reserved3" introspectable="0">
-        <callback name="_clutter_gtk_reserved3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_gtk_reserved4" introspectable="0">
-        <callback name="_clutter_gtk_reserved4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_gtk_reserved5" introspectable="0">
-        <callback name="_clutter_gtk_reserved5">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_clutter_gtk_reserved6" introspectable="0">
-        <callback name="_clutter_gtk_reserved6">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <record name="EmbedPrivate" c:type="GtkClutterEmbedPrivate" disguised="1">
-    </record>
-    <interface name="Scrollable"
-               c:symbol-prefix="scrollable"
-               c:type="GtkClutterScrollable"
-               glib:type-name="GtkClutterScrollable"
-               glib:get-type="gtk_clutter_scrollable_get_type"
-               glib:type-struct="ScrollableIface">
-      <virtual-method name="get_adjustments"
-                      invoker="get_adjustments"
-                      version="0.10">
-        <doc xml:whitespace="preserve">Retrieves the horizontal and vertical adjustments used to
-determine the position of the scrollable actor.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="h_adjust"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for a #GtkAdjustment, or %NULL</doc>
-            <type name="Gtk.Adjustment" c:type="GtkAdjustment**"/>
-          </parameter>
-          <parameter name="v_adjust"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for a #GtkAdjustment, or %NULL</doc>
-            <type name="Gtk.Adjustment" c:type="GtkAdjustment**"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="set_adjustments"
-                      invoker="set_adjustments"
-                      version="0.10">
-        <doc xml:whitespace="preserve">Sets the horizontal and vertical adjustments used to determine
-the position of the scrollable actor.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="h_adjust" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GtkAdjustment, or %NULL</doc>
-            <type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
-          </parameter>
-          <parameter name="v_adjust" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GtkAdjustment, or %NULL</doc>
-            <type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <method name="get_adjustments"
-              c:identifier="gtk_clutter_scrollable_get_adjustments"
-              version="0.10">
-        <doc xml:whitespace="preserve">Retrieves the horizontal and vertical adjustments used to
-determine the position of the scrollable actor.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="h_adjust"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for a #GtkAdjustment, or %NULL</doc>
-            <type name="Gtk.Adjustment" c:type="GtkAdjustment**"/>
-          </parameter>
-          <parameter name="v_adjust"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for a #GtkAdjustment, or %NULL</doc>
-            <type name="Gtk.Adjustment" c:type="GtkAdjustment**"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_adjustments"
-              c:identifier="gtk_clutter_scrollable_set_adjustments"
-              version="0.10">
-        <doc xml:whitespace="preserve">Sets the horizontal and vertical adjustments used to determine
-the position of the scrollable actor.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="h_adjust" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GtkAdjustment, or %NULL</doc>
-            <type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
-          </parameter>
-          <parameter name="v_adjust" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GtkAdjustment, or %NULL</doc>
-            <type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="hadjustment"
-                version="0.10"
-                writable="1"
-                construct="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The #GtkAdjustment that determines the value of the
-horizontal position for this scrollable actor.</doc>
-        <type name="Gtk.Adjustment"/>
-      </property>
-      <property name="vadjustment"
-                version="0.10"
-                writable="1"
-                construct="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The #GtkAdjustment that determines the value of the
-vertical position for this scrollable actor.</doc>
-        <type name="Gtk.Adjustment"/>
-      </property>
-    </interface>
-    <record name="ScrollableIface"
-            c:type="GtkClutterScrollableIface"
-            glib:is-gtype-struct-for="Scrollable"
-            version="0.10">
-      <doc xml:whitespace="preserve">The #GtkClutterScrollableIface structure contains only private data
-and should be accessed using the provided functions.</doc>
-      <field name="parent_iface">
-        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
-      </field>
-      <field name="set_adjustments">
-        <callback name="set_adjustments">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="scrollable" transfer-ownership="none">
-              <type name="Scrollable" c:type="GtkClutterScrollable*"/>
-            </parameter>
-            <parameter name="h_adjust"
-                       transfer-ownership="none"
-                       allow-none="1">
-              <doc xml:whitespace="preserve">a #GtkAdjustment, or %NULL</doc>
-              <type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
-            </parameter>
-            <parameter name="v_adjust"
-                       transfer-ownership="none"
-                       allow-none="1">
-              <doc xml:whitespace="preserve">a #GtkAdjustment, or %NULL</doc>
-              <type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="get_adjustments">
-        <callback name="get_adjustments">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="scrollable" transfer-ownership="none">
-              <type name="Scrollable" c:type="GtkClutterScrollable*"/>
-            </parameter>
-            <parameter name="h_adjust"
-                       direction="out"
-                       caller-allocates="0"
-                       transfer-ownership="full">
-              <doc xml:whitespace="preserve">return location for a #GtkAdjustment, or %NULL</doc>
-              <type name="Gtk.Adjustment" c:type="GtkAdjustment**"/>
-            </parameter>
-            <parameter name="v_adjust"
-                       direction="out"
-                       caller-allocates="0"
-                       transfer-ownership="full">
-              <doc xml:whitespace="preserve">return location for a #GtkAdjustment, or %NULL</doc>
-              <type name="Gtk.Adjustment" c:type="GtkAdjustment**"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-    </record>
-    <class name="Viewport"
-           c:symbol-prefix="viewport"
-           c:type="GtkClutterViewport"
-           version="0.8.2"
-           parent="Clutter.Actor"
-           glib:type-name="GtkClutterViewport"
-           glib:get-type="gtk_clutter_viewport_get_type"
-           glib:type-struct="ViewportClass">
-      <doc xml:whitespace="preserve">The #GtkClutterViewport structure contains only private data and
-should be accessed using the provided functions.</doc>
-      <implements name="Atk.ImplementorIface"/>
-      <implements name="Clutter.Animatable"/>
-      <implements name="Clutter.Container"/>
-      <implements name="Clutter.Scriptable"/>
-      <implements name="Scrollable"/>
-      <implements name="Zoomable"/>
-      <constructor name="new"
-                   c:identifier="gtk_clutter_viewport_new"
-                   version="0.10">
-        <doc xml:whitespace="preserve">Creates a new #GtkClutterViewport with the given adjustments.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the newly created viewport actor</doc>
-          <type name="Clutter.Actor" c:type="ClutterActor*"/>
-        </return-value>
-        <parameters>
-          <parameter name="h_adjust" transfer-ownership="none">
-            <doc xml:whitespace="preserve">horizontal adjustment, or %NULL</doc>
-            <type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
-          </parameter>
-          <parameter name="v_adjust" transfer-ownership="none">
-            <doc xml:whitespace="preserve">vertical adjustment, or %NULL</doc>
-            <type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
-          </parameter>
-          <parameter name="z_adjust" transfer-ownership="none">
-            <doc xml:whitespace="preserve">zoom adjustment, or %NULL</doc>
-            <type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="get_origin"
-              c:identifier="gtk_clutter_viewport_get_origin"
-              version="0.10">
-        <doc xml:whitespace="preserve">Retrieves the current translation factor ("origin") used when
-displaying the child of @viewport.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x" transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for the X origin in pixels, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="y" transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for the Y origin in pixels, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-          <parameter name="z" transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for the Z origin in pixels, or %NULL</doc>
-            <type name="gfloat" c:type="gfloat*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="child"
-                version="0.10"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The #ClutterActor inside the viewport.</doc>
-        <type name="Clutter.Actor"/>
-      </property>
-      <property name="origin" version="0.10" transfer-ownership="none">
-        <doc xml:whitespace="preserve">The current origin of the viewport. You should use the
-vertex to convert event coordinates for the child of the
-viewport.</doc>
-        <type name="Clutter.Vertex"/>
-      </property>
-      <field name="parent_instance">
-        <type name="Clutter.Actor" c:type="ClutterActor"/>
-      </field>
-      <field name="priv">
-        <type name="ViewportPrivate" c:type="GtkClutterViewportPrivate*"/>
-      </field>
-    </class>
-    <record name="ViewportClass"
-            c:type="GtkClutterViewportClass"
-            glib:is-gtype-struct-for="Viewport"
-            version="0.8.2">
-      <doc xml:whitespace="preserve">The #GtkClutterViewportClass structure contains only private data and
-should be accessed using the provided functions.</doc>
-      <field name="parent_class">
-        <type name="Clutter.ActorClass" c:type="ClutterActorClass"/>
-      </field>
-    </record>
-    <record name="ViewportPrivate"
-            c:type="GtkClutterViewportPrivate"
-            disguised="1">
-    </record>
-    <interface name="Zoomable"
-               c:symbol-prefix="zoomable"
-               c:type="GtkClutterZoomable"
-               glib:type-name="GtkClutterZoomable"
-               glib:get-type="gtk_clutter_zoomable_get_type"
-               glib:type-struct="ZoomableIface">
-      <virtual-method name="get_adjustment"
-                      invoker="get_adjustment"
-                      version="0.10">
-        <doc xml:whitespace="preserve">Retrieves the adjustment used to determine the zoom factor of
-the zoomable actor</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GtkAdjustment</doc>
-          <type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
-        </return-value>
-      </virtual-method>
-      <virtual-method name="set_adjustment"
-                      invoker="set_adjustment"
-                      version="0.10">
-        <doc xml:whitespace="preserve">Sets the adjustment used to determine the zoom factor of
-the zoomable actor</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="z_adjust" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GtkAdjustment, or %NULL</doc>
-            <type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <method name="get_adjustment"
-              c:identifier="gtk_clutter_zoomable_get_adjustment"
-              version="0.10">
-        <doc xml:whitespace="preserve">Retrieves the adjustment used to determine the zoom factor of
-the zoomable actor</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GtkAdjustment</doc>
-          <type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
-        </return-value>
-      </method>
-      <method name="set_adjustment"
-              c:identifier="gtk_clutter_zoomable_set_adjustment"
-              version="0.10">
-        <doc xml:whitespace="preserve">Sets the adjustment used to determine the zoom factor of
-the zoomable actor</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="z_adjust" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GtkAdjustment, or %NULL</doc>
-            <type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="zadjustment"
-                version="0.10"
-                writable="1"
-                construct="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The #GtkAdjustment that determines the value of
-the zoom factor for this zoomable actor</doc>
-        <type name="Gtk.Adjustment"/>
-      </property>
-    </interface>
-    <record name="ZoomableIface"
-            c:type="GtkClutterZoomableIface"
-            glib:is-gtype-struct-for="Zoomable"
-            version="1.0">
-      <doc xml:whitespace="preserve">The #GtkClutterZoomableIface structure contains only private data</doc>
-      <field name="parent_iface">
-        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
-      </field>
-      <field name="set_adjustment">
-        <callback name="set_adjustment">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="zoomable" transfer-ownership="none">
-              <type name="Zoomable" c:type="GtkClutterZoomable*"/>
-            </parameter>
-            <parameter name="z_adjust"
-                       transfer-ownership="none"
-                       allow-none="1">
-              <doc xml:whitespace="preserve">a #GtkAdjustment, or %NULL</doc>
-              <type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="get_adjustment">
-        <callback name="get_adjustment">
-          <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GtkAdjustment</doc>
-            <type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
-          </return-value>
-          <parameters>
-            <parameter name="zoomable" transfer-ownership="none">
-              <type name="Zoomable" c:type="GtkClutterZoomable*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-    </record>
-    <function name="get_base_color"
-              c:identifier="gtk_clutter_get_base_color"
-              version="0.8">
-      <doc xml:whitespace="preserve">Retrieves the base color of @widget for the given @state and copies it
-into @color.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="widget" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GtkWidget</doc>
-          <type name="Gtk.Widget" c:type="GtkWidget*"/>
-        </parameter>
-        <parameter name="state" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a state</doc>
-          <type name="Gtk.StateType" c:type="GtkStateType"/>
-        </parameter>
-        <parameter name="color" transfer-ownership="none">
-          <doc xml:whitespace="preserve">return location for a #ClutterColor</doc>
-          <type name="Clutter.Color" c:type="ClutterColor*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_bg_color"
-              c:identifier="gtk_clutter_get_bg_color"
-              version="0.8">
-      <doc xml:whitespace="preserve">Retrieves the background color of @widget for the given @state and copies
-it into @color.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="widget" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GtkWidget</doc>
-          <type name="Gtk.Widget" c:type="GtkWidget*"/>
-        </parameter>
-        <parameter name="state" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a state</doc>
-          <type name="Gtk.StateType" c:type="GtkStateType"/>
-        </parameter>
-        <parameter name="color" transfer-ownership="none">
-          <doc xml:whitespace="preserve">return location for a #ClutterColor</doc>
-          <type name="Clutter.Color" c:type="ClutterColor*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_dark_color"
-              c:identifier="gtk_clutter_get_dark_color"
-              version="0.8">
-      <doc xml:whitespace="preserve">Retrieves the dark color of @widget for the given @state and copies it
-into @color.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="widget" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GtkWidget</doc>
-          <type name="Gtk.Widget" c:type="GtkWidget*"/>
-        </parameter>
-        <parameter name="state" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a state</doc>
-          <type name="Gtk.StateType" c:type="GtkStateType"/>
-        </parameter>
-        <parameter name="color" transfer-ownership="none">
-          <doc xml:whitespace="preserve">return location for a #ClutterColor</doc>
-          <type name="Clutter.Color" c:type="ClutterColor*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_fg_color"
-              c:identifier="gtk_clutter_get_fg_color"
-              version="0.8">
-      <doc xml:whitespace="preserve">Retrieves the foreground color of @widget for the given @state and copies
-it into @color.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="widget" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GtkWidget</doc>
-          <type name="Gtk.Widget" c:type="GtkWidget*"/>
-        </parameter>
-        <parameter name="state" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a state</doc>
-          <type name="Gtk.StateType" c:type="GtkStateType"/>
-        </parameter>
-        <parameter name="color" transfer-ownership="none">
-          <doc xml:whitespace="preserve">return location for a #ClutterColor</doc>
-          <type name="Clutter.Color" c:type="ClutterColor*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_light_color"
-              c:identifier="gtk_clutter_get_light_color"
-              version="0.8">
-      <doc xml:whitespace="preserve">Retrieves the light color of @widget for the given @state and copies it
-into @color.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="widget" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GtkWidget</doc>
-          <type name="Gtk.Widget" c:type="GtkWidget*"/>
-        </parameter>
-        <parameter name="state" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a state</doc>
-          <type name="Gtk.StateType" c:type="GtkStateType"/>
-        </parameter>
-        <parameter name="color" transfer-ownership="none">
-          <doc xml:whitespace="preserve">return location for a #ClutterColor</doc>
-          <type name="Clutter.Color" c:type="ClutterColor*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_mid_color"
-              c:identifier="gtk_clutter_get_mid_color"
-              version="0.8">
-      <doc xml:whitespace="preserve">Retrieves the mid color of @widget for the given @state and copies it
-into @color.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="widget" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GtkWidget</doc>
-          <type name="Gtk.Widget" c:type="GtkWidget*"/>
-        </parameter>
-        <parameter name="state" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a state</doc>
-          <type name="Gtk.StateType" c:type="GtkStateType"/>
-        </parameter>
-        <parameter name="color" transfer-ownership="none">
-          <doc xml:whitespace="preserve">return location for a #ClutterColor</doc>
-          <type name="Clutter.Color" c:type="ClutterColor*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_text_aa_color"
-              c:identifier="gtk_clutter_get_text_aa_color"
-              version="0.8">
-      <doc xml:whitespace="preserve">Retrieves the text-aa color of @widget for the given @state and copies it
-into @color.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="widget" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GtkWidget</doc>
-          <type name="Gtk.Widget" c:type="GtkWidget*"/>
-        </parameter>
-        <parameter name="state" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a state</doc>
-          <type name="Gtk.StateType" c:type="GtkStateType"/>
-        </parameter>
-        <parameter name="color" transfer-ownership="none">
-          <doc xml:whitespace="preserve">return location for a #ClutterColor</doc>
-          <type name="Clutter.Color" c:type="ClutterColor*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_text_color"
-              c:identifier="gtk_clutter_get_text_color"
-              version="0.8">
-      <doc xml:whitespace="preserve">Retrieves the text color of @widget for the given @state and copies it
-into @color.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="widget" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GtkWidget</doc>
-          <type name="Gtk.Widget" c:type="GtkWidget*"/>
-        </parameter>
-        <parameter name="state" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a state</doc>
-          <type name="Gtk.StateType" c:type="GtkStateType"/>
-        </parameter>
-        <parameter name="color" transfer-ownership="none">
-          <doc xml:whitespace="preserve">return location for a #ClutterColor</doc>
-          <type name="Clutter.Color" c:type="ClutterColor*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="init" c:identifier="gtk_clutter_init" version="0.8">
-      <doc xml:whitespace="preserve">This function should be called instead of clutter_init() and
-gtk_init().
-on failure.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%CLUTTER_INIT_SUCCESS on success, a negative integer</doc>
-        <type name="Clutter.InitError" c:type="ClutterInitError"/>
-      </return-value>
-      <parameters>
-        <parameter name="argc"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">pointer to the arguments count, or %NULL</doc>
-          <type name="gint" c:type="int*"/>
-        </parameter>
-        <parameter name="argv"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full"
-                   allow-none="1">
-          <doc xml:whitespace="preserve">pointer to the arguments vector, or %NULL</doc>
-          <array length="0" c:type="char***">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="init_with_args"
-              c:identifier="gtk_clutter_init_with_args"
-              version="0.10"
-              throws="1">
-      <doc xml:whitespace="preserve">This function should be called instead of clutter_init() and
-gtk_init_with_args().
-on failure.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%CLUTTER_INIT_SUCCESS on success, a negative integer</doc>
-        <type name="Clutter.InitError" c:type="ClutterInitError"/>
-      </return-value>
-      <parameters>
-        <parameter name="argc"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">a pointer to the number of command line arguments.</doc>
-          <type name="gint" c:type="int*"/>
-        </parameter>
-        <parameter name="argv"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full"
-                   allow-none="1">
-          <doc xml:whitespace="preserve">a pointer to the array of command line arguments.</doc>
-          <array length="0" c:type="char***">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-        <parameter name="parameter_string"
-                   transfer-ownership="none"
-                   allow-none="1">
-          <doc xml:whitespace="preserve">a string which is displayed in the first line of &lt;option&gt;--help&lt;/option&gt; output, after &lt;literal&gt;&lt;replaceable&gt;programname&lt;/replaceable&gt; [OPTION...]&lt;/literal&gt;</doc>
-          <type name="utf8" c:type="char*"/>
-        </parameter>
-        <parameter name="entries" transfer-ownership="none" allow-none="1">
-          <doc xml:whitespace="preserve">a %NULL-terminated array of #GOptionEntry&lt;!-- --&gt;s describing the options of your program, or %NULL</doc>
-          <type name="GLib.OptionEntry" c:type="GOptionEntry*"/>
-        </parameter>
-        <parameter name="translation_domain"
-                   transfer-ownership="none"
-                   allow-none="1">
-          <doc xml:whitespace="preserve">a translation domain to use for translating the &lt;option&gt;--help&lt;/option&gt; output for the options in @entries with gettext(), or %NULL</doc>
-          <type name="utf8" c:type="char*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_error_quark"
-              c:identifier="gtk_clutter_texture_error_quark">
-      <return-value transfer-ownership="none">
-        <type name="GLib.Quark" c:type="GQuark"/>
-      </return-value>
-    </function>
-    <function name="texture_new_from_icon_name"
-              c:identifier="gtk_clutter_texture_new_from_icon_name"
-              version="0.8"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Creates a new #ClutterTexture and sets its contents to be
-the @icon_name from the current icon theme.
-was %NULL and @icon_name was not found.</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">the newly created texture, or %NULL if @widget</doc>
-        <type name="Clutter.Actor" c:type="ClutterActor*"/>
-      </return-value>
-      <parameters>
-        <parameter name="widget" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GtkWidget or %NULL</doc>
-          <type name="Gtk.Widget" c:type="GtkWidget*"/>
-        </parameter>
-        <parameter name="icon_name" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the name of the icon</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </parameter>
-        <parameter name="size" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the size of the icon, or -1</doc>
-          <type name="Gtk.IconSize" c:type="GtkIconSize"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_new_from_pixbuf"
-              c:identifier="gtk_clutter_texture_new_from_pixbuf"
-              version="0.8"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Creates a new #ClutterTexture and sets its contents with a copy
-of @pixbuf.</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">the newly created #ClutterTexture</doc>
-        <type name="Clutter.Actor" c:type="ClutterActor*"/>
-      </return-value>
-      <parameters>
-        <parameter name="pixbuf" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdkPixbuf</doc>
-          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_new_from_stock"
-              c:identifier="gtk_clutter_texture_new_from_stock"
-              version="0.8"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Creates a new #ClutterTexture and sets its contents using the stock
-icon @stock_id as rendered by @widget.</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">the newly created #ClutterTexture</doc>
-        <type name="Clutter.Actor" c:type="ClutterActor*"/>
-      </return-value>
-      <parameters>
-        <parameter name="widget" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GtkWidget</doc>
-          <type name="Gtk.Widget" c:type="GtkWidget*"/>
-        </parameter>
-        <parameter name="stock_id" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the stock id of the icon</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </parameter>
-        <parameter name="size" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the size of the icon, or -1</doc>
-          <type name="Gtk.IconSize" c:type="GtkIconSize"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_set_from_icon_name"
-              c:identifier="gtk_clutter_texture_set_from_icon_name"
-              version="0.8"
-              throws="1">
-      <doc xml:whitespace="preserve">Sets the contents of @texture using the @icon_name from the
-current icon theme.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE on success, %FALSE on failure.</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="texture" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterTexture</doc>
-          <type name="Clutter.Texture" c:type="ClutterTexture*"/>
-        </parameter>
-        <parameter name="widget" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GtkWidget or %NULL</doc>
-          <type name="Gtk.Widget" c:type="GtkWidget*"/>
-        </parameter>
-        <parameter name="icon_name" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the name of the icon</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </parameter>
-        <parameter name="size" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the icon size or -1</doc>
-          <type name="Gtk.IconSize" c:type="GtkIconSize"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_set_from_pixbuf"
-              c:identifier="gtk_clutter_texture_set_from_pixbuf"
-              version="0.8"
-              throws="1">
-      <doc xml:whitespace="preserve">Sets the contents of @texture with a copy of @pixbuf.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE on success, %FALSE on failure.</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="texture" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterTexture</doc>
-          <type name="Clutter.Texture" c:type="ClutterTexture*"/>
-        </parameter>
-        <parameter name="pixbuf" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GdkPixbuf</doc>
-          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="texture_set_from_stock"
-              c:identifier="gtk_clutter_texture_set_from_stock"
-              version="0.8"
-              throws="1">
-      <doc xml:whitespace="preserve">Sets the contents of @texture using the stock icon @stock_id, as
-rendered by @widget.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE on success, %FALSE on failure.</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="texture" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #ClutterTexture</doc>
-          <type name="Clutter.Texture" c:type="ClutterTexture*"/>
-        </parameter>
-        <parameter name="widget" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GtkWidget</doc>
-          <type name="Gtk.Widget" c:type="GtkWidget*"/>
-        </parameter>
-        <parameter name="stock_id" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the stock id of the icon</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </parameter>
-        <parameter name="size" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the size of the icon, or -1</doc>
-          <type name="Gtk.IconSize" c:type="GtkIconSize"/>
-        </parameter>
-      </parameters>
-    </function>
-  </namespace>
-</repository>
index 088899aaf0264e55af4961d94d23728aacf77dee..4c64071a04ac553a2a7fe52e3275ee9f716f76db 100644 (file)
@@ -19,5 +19,5 @@ LIBRARY: clutter.gtk
 } cond
 >>
 
-GIR: vocab:clutter/gtk/GtkClutter-0.10.gir
+GIR: GtkClutter-0.10.gir
 
diff --git a/extra/clutter/json/Json-1.0.gir b/extra/clutter/json/Json-1.0.gir
deleted file mode 100644 (file)
index e945408..0000000
+++ /dev/null
@@ -1,2925 +0,0 @@
-<?xml version="1.0"?>
-<!-- This file was automatically generated from C sources - DO NOT EDIT!
-To affect the contents of this file, edit the original C definitions,
-and/or use gtk-doc annotations.  -->
-<repository version="1.2"
-            xmlns="http://www.gtk.org/introspection/core/1.0"
-            xmlns:c="http://www.gtk.org/introspection/c/1.0"
-            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
-  <include name="GLib" version="2.0"/>
-  <include name="GObject" version="2.0"/>
-  <include name="Gio" version="2.0"/>
-  <package name="json-glib-1.0"/>
-  <namespace name="Json"
-             version="1.0"
-             shared-library="libjson-glib-1.0.so.0"
-             c:identifier-prefixes="Json"
-             c:symbol-prefixes="json">
-    <record name="Array"
-            c:type="JsonArray"
-            glib:type-name="JsonArray"
-            glib:get-type="json_array_get_type"
-            c:symbol-prefix="array">
-      <doc xml:whitespace="preserve">A JSON array type. The contents of the #JsonArray structure are private
-and should only be accessed by the provided API</doc>
-      <constructor name="new" c:identifier="json_array_new">
-        <doc xml:whitespace="preserve">Creates a new #JsonArray.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created #JsonArray</doc>
-          <type name="Array" c:type="JsonArray*"/>
-        </return-value>
-      </constructor>
-      <constructor name="sized_new" c:identifier="json_array_sized_new">
-        <doc xml:whitespace="preserve">Creates a new #JsonArray with @n_elements slots already allocated.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created #JsonArray</doc>
-          <type name="Array" c:type="JsonArray*"/>
-        </return-value>
-        <parameters>
-          <parameter name="n_elements" transfer-ownership="none">
-            <doc xml:whitespace="preserve">number of slots to pre-allocate</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="add_array_element"
-              c:identifier="json_array_add_array_element"
-              version="0.8">
-        <doc xml:whitespace="preserve">Conveniently adds an array into @array. The @array takes ownership
-of the newly added #JsonArray</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #JsonArray</doc>
-            <type name="Array" c:type="JsonArray*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="add_boolean_element"
-              c:identifier="json_array_add_boolean_element"
-              version="0.8">
-        <doc xml:whitespace="preserve">Conveniently adds a boolean @value into @array</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a boolean value</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="add_double_element"
-              c:identifier="json_array_add_double_element"
-              version="0.8">
-        <doc xml:whitespace="preserve">Conveniently adds a floating point @value into @array</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a floating point value</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="add_element" c:identifier="json_array_add_element">
-        <doc xml:whitespace="preserve">Appends @node inside @array. The array will take ownership of the
-#JsonNode.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #JsonNode</doc>
-            <type name="Node" c:type="JsonNode*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="add_int_element"
-              c:identifier="json_array_add_int_element"
-              version="0.8">
-        <doc xml:whitespace="preserve">Conveniently adds an integer @value into @array</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an integer value</doc>
-            <type name="gint64" c:type="gint64"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="add_null_element"
-              c:identifier="json_array_add_null_element"
-              version="0.8">
-        <doc xml:whitespace="preserve">Conveniently adds a null element into @array</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="add_object_element"
-              c:identifier="json_array_add_object_element"
-              version="0.8">
-        <doc xml:whitespace="preserve">Conveniently adds an object into @array. The @array takes ownership
-of the newly added #JsonObject</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #JsonObject</doc>
-            <type name="Object" c:type="JsonObject*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="add_string_element"
-              c:identifier="json_array_add_string_element"
-              version="0.8">
-        <doc xml:whitespace="preserve">Conveniently adds a string @value into @array</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string value</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="dup_element"
-              c:identifier="json_array_dup_element"
-              version="0.6">
-        <doc xml:whitespace="preserve">Retrieves a copy of the #JsonNode containing the value of the
-element at @index_ inside a #JsonArray
-index. Use json_node_free() when done.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a copy of the #JsonNode at the requested</doc>
-          <type name="Node" c:type="JsonNode*"/>
-        </return-value>
-        <parameters>
-          <parameter name="index_" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the index of the element to retrieve</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="foreach_element"
-              c:identifier="json_array_foreach_element"
-              version="0.8">
-        <doc xml:whitespace="preserve">Iterates over all elements of @array and calls @func on
-each one of them.
-It is safe to change the value of a #JsonNode of the @array
-from within the iterator @func, but it is not safe to add or
-remove elements from the @array.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="func"
-                     transfer-ownership="none"
-                     scope="call"
-                     closure="1">
-            <doc xml:whitespace="preserve">the function to be called on each element</doc>
-            <type name="ArrayForeach" c:type="JsonArrayForeach"/>
-          </parameter>
-          <parameter name="data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">data to be passed to the function</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_array_element"
-              c:identifier="json_array_get_array_element"
-              version="0.8">
-        <doc xml:whitespace="preserve">Conveniently retrieves the array from the element at @index_
-inside @array</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the array</doc>
-          <type name="Array" c:type="JsonArray*"/>
-        </return-value>
-        <parameters>
-          <parameter name="index_" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the index of the element to retrieve</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_boolean_element"
-              c:identifier="json_array_get_boolean_element"
-              version="0.8">
-        <doc xml:whitespace="preserve">Conveniently retrieves the boolean value of the element at @index_
-inside @array</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the integer value</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="index_" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the index of the element to retrieve</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_double_element"
-              c:identifier="json_array_get_double_element"
-              version="0.8">
-        <doc xml:whitespace="preserve">Conveniently retrieves the floating point value of the element at</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the floating point value</doc>
-          <type name="gdouble" c:type="gdouble"/>
-        </return-value>
-        <parameters>
-          <parameter name="index_" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the index of the element to retrieve</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_element" c:identifier="json_array_get_element">
-        <doc xml:whitespace="preserve">Retrieves the #JsonNode containing the value of the element at @index_
-inside a #JsonArray.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a pointer to the #JsonNode at the requested index</doc>
-          <type name="Node" c:type="JsonNode*"/>
-        </return-value>
-        <parameters>
-          <parameter name="index_" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the index of the element to retrieve</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_elements" c:identifier="json_array_get_elements">
-        <doc xml:whitespace="preserve">Gets the elements of a #JsonArray as a list of #JsonNode&lt;!-- --&gt;s.
-containing the elements of the array. The contents of the list are
-owned by the array and should never be modified or freed. Use
-g_list_free() on the returned list when done using it</doc>
-        <return-value transfer-ownership="container">
-          <doc xml:whitespace="preserve">a #GList</doc>
-          <type name="GLib.List" c:type="GList*">
-            <type name="Node"/>
-          </type>
-        </return-value>
-      </method>
-      <method name="get_int_element"
-              c:identifier="json_array_get_int_element"
-              version="0.8">
-        <doc xml:whitespace="preserve">Conveniently retrieves the integer value of the element at @index_
-inside @array</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the integer value</doc>
-          <type name="gint64" c:type="gint64"/>
-        </return-value>
-        <parameters>
-          <parameter name="index_" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the index of the element to retrieve</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_length" c:identifier="json_array_get_length">
-        <doc xml:whitespace="preserve">Retrieves the length of a #JsonArray</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the length of the array</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_null_element"
-              c:identifier="json_array_get_null_element"
-              version="0.8">
-        <doc xml:whitespace="preserve">Conveniently retrieves whether the element at @index_ is set to null</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the element is null</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="index_" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the index of the element to retrieve</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_object_element"
-              c:identifier="json_array_get_object_element"
-              version="0.8">
-        <doc xml:whitespace="preserve">Conveniently retrieves the object from the element at @index_
-inside @array</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the object</doc>
-          <type name="Object" c:type="JsonObject*"/>
-        </return-value>
-        <parameters>
-          <parameter name="index_" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the index of the element to retrieve</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_string_element"
-              c:identifier="json_array_get_string_element"
-              version="0.8">
-        <doc xml:whitespace="preserve">Conveniently retrieves the string value of the element at @index_
-inside @array
-the #JsonArray and should not be modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the string value; the returned string is owned by</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-        <parameters>
-          <parameter name="index_" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the index of the element to retrieve</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="ref" c:identifier="json_array_ref">
-        <doc xml:whitespace="preserve">Increase by one the reference count of a #JsonArray.
-increased by one.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the passed #JsonArray, with the reference count</doc>
-          <type name="Array" c:type="JsonArray*"/>
-        </return-value>
-      </method>
-      <method name="remove_element" c:identifier="json_array_remove_element">
-        <doc xml:whitespace="preserve">Removes the #JsonNode inside @array at @index_ freeing its allocated
-resources.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="index_" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the position of the element to be removed</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="unref" c:identifier="json_array_unref">
-        <doc xml:whitespace="preserve">Decreases by one the reference count of a #JsonArray. If the
-reference count reaches zero, the array is destroyed and all
-its allocated resources are freed.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-    </record>
-    <callback name="ArrayForeach" c:type="JsonArrayForeach" version="0.8">
-      <doc xml:whitespace="preserve">The function to be passed to json_array_foreach_element(). You
-should not add or remove elements to and from @array within
-this function. It is safe to change the value of @element_node.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="array" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the iterated #JsonArray</doc>
-          <type name="Array" c:type="JsonArray*"/>
-        </parameter>
-        <parameter name="index_" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the index of the element</doc>
-          <type name="guint" c:type="guint"/>
-        </parameter>
-        <parameter name="element_node" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #JsonNode containing the value at @index_</doc>
-          <type name="Node" c:type="JsonNode*"/>
-        </parameter>
-        <parameter name="user_data" transfer-ownership="none" closure="3">
-          <doc xml:whitespace="preserve">data passed to the function</doc>
-          <type name="gpointer" c:type="gpointer"/>
-        </parameter>
-      </parameters>
-    </callback>
-    <callback name="BoxedDeserializeFunc"
-              c:type="JsonBoxedDeserializeFunc"
-              version="0.10"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Deserializes the contents of the passed #JsonNode into a #GBoxed</doc>
-      <return-value>
-        <doc xml:whitespace="preserve">the newly created boxed type</doc>
-        <type name="gpointer" c:type="gpointer"/>
-      </return-value>
-      <parameters>
-        <parameter name="node" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #JsonNode</doc>
-          <type name="Node" c:type="JsonNode*"/>
-        </parameter>
-      </parameters>
-    </callback>
-    <callback name="BoxedSerializeFunc"
-              c:type="JsonBoxedSerializeFunc"
-              version="0.10">
-      <doc xml:whitespace="preserve">Serializes the passed #GBoxed and stores it inside a #JsonNode</doc>
-      <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">the newly created #JsonNode</doc>
-        <type name="Node" c:type="JsonNode*"/>
-      </return-value>
-      <parameters>
-        <parameter name="boxed" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GBoxed</doc>
-          <type name="gpointer" c:type="gconstpointer"/>
-        </parameter>
-      </parameters>
-    </callback>
-    <class name="Builder"
-           c:symbol-prefix="builder"
-           c:type="JsonBuilder"
-           version="0.12"
-           parent="GObject.Object"
-           glib:type-name="JsonBuilder"
-           glib:get-type="json_builder_get_type"
-           glib:type-struct="BuilderClass">
-      <doc xml:whitespace="preserve">The &lt;structname&gt;JsonBuilder&lt;/structname&gt; structure contains only
-private data and shouls be accessed using the provided API</doc>
-      <constructor name="new" c:identifier="json_builder_new">
-        <doc xml:whitespace="preserve">Creates a new #JsonBuilder. You can use this object to generate a
-JSON tree and obtain the root #JsonNode&lt;!-- --&gt;s.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created #JsonBuilder instance</doc>
-          <type name="Builder" c:type="JsonBuilder*"/>
-        </return-value>
-      </constructor>
-      <method name="add_boolean_value"
-              c:identifier="json_builder_add_boolean_value">
-        <doc xml:whitespace="preserve">If called after json_builder_set_member_name(), sets @value as member of the
-most recent opened object, otherwise @value is added as element of the most
-recent opened array.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #JsonBuilder, or %NULL if the call was inconsistent</doc>
-          <type name="Builder" c:type="JsonBuilder*"/>
-        </return-value>
-        <parameters>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value of the member or element</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="add_double_value"
-              c:identifier="json_builder_add_double_value">
-        <doc xml:whitespace="preserve">If called after json_builder_set_member_name(), sets @value as member of the
-most recent opened object, otherwise @value is added as element of the most
-recent opened array.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #JsonBuilder, or %NULL if the call was inconsistent</doc>
-          <type name="Builder" c:type="JsonBuilder*"/>
-        </return-value>
-        <parameters>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value of the member or element</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="add_int_value" c:identifier="json_builder_add_int_value">
-        <doc xml:whitespace="preserve">If called after json_builder_set_member_name(), sets @value as member of the
-most recent opened object, otherwise @value is added as element of the most
-recent opened array.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #JsonBuilder, or %NULL if the call was inconsistent</doc>
-          <type name="Builder" c:type="JsonBuilder*"/>
-        </return-value>
-        <parameters>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value of the member or element</doc>
-            <type name="gint64" c:type="gint64"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="add_null_value" c:identifier="json_builder_add_null_value">
-        <doc xml:whitespace="preserve">If called after json_builder_set_member_name(), sets null as member of the
-most recent opened object, otherwise null is added as element of the most
-recent opened array.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #JsonBuilder, or %NULL if the call was inconsistent</doc>
-          <type name="Builder" c:type="JsonBuilder*"/>
-        </return-value>
-      </method>
-      <method name="add_string_value"
-              c:identifier="json_builder_add_string_value">
-        <doc xml:whitespace="preserve">If called after json_builder_set_member_name(), sets @value as member of the
-most recent opened object, otherwise @value is added as element of the most
-recent opened array.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #JsonBuilder, or %NULL if the call was inconsistent</doc>
-          <type name="Builder" c:type="JsonBuilder*"/>
-        </return-value>
-        <parameters>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value of the member or element</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="add_value" c:identifier="json_builder_add_value">
-        <doc xml:whitespace="preserve">If called after json_builder_set_member_name(), sets @node as member of the
-most recent opened object, otherwise @node is added as element of the most
-recent opened array.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #JsonBuilder, or %NULL if the call was inconsistent</doc>
-          <type name="Builder" c:type="JsonBuilder*"/>
-        </return-value>
-        <parameters>
-          <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value of the member or element</doc>
-            <type name="Node" c:type="JsonNode*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="begin_array" c:identifier="json_builder_begin_array">
-        <doc xml:whitespace="preserve">Opens a subarray inside the given @builder. When done adding members to
-the subarray, json_builder_end_array() must be called.
-Can be called for first or only if the call is associated to an object member
-or an array element.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #JsonBuilder, or %NULL if the call was inconsistent</doc>
-          <type name="Builder" c:type="JsonBuilder*"/>
-        </return-value>
-      </method>
-      <method name="begin_object" c:identifier="json_builder_begin_object">
-        <doc xml:whitespace="preserve">Opens a subobject inside the given @builder. When done adding members to
-the subobject, json_builder_end_object() must be called.
-Can be called for first or only if the call is associated to an object member
-or an array element.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #JsonBuilder, or %NULL if the call was inconsistent</doc>
-          <type name="Builder" c:type="JsonBuilder*"/>
-        </return-value>
-      </method>
-      <method name="end_array" c:identifier="json_builder_end_array">
-        <doc xml:whitespace="preserve">Closes the subarray inside the given @builder that was opened by the most
-recent call to json_builder_begin_array().
-Cannot be called after json_builder_set_member_name().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #JsonBuilder, or %NULL if the call was inconsistent</doc>
-          <type name="Builder" c:type="JsonBuilder*"/>
-        </return-value>
-      </method>
-      <method name="end_object" c:identifier="json_builder_end_object">
-        <doc xml:whitespace="preserve">Closes the subobject inside the given @builder that was opened by the most
-recent call to json_builder_begin_object().
-Cannot be called after json_builder_set_member_name().</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #JsonBuilder, or %NULL if the call was inconsistent</doc>
-          <type name="Builder" c:type="JsonBuilder*"/>
-        </return-value>
-      </method>
-      <method name="get_root" c:identifier="json_builder_get_root">
-        <doc xml:whitespace="preserve">Returns the root of the current constructed tree, if the build is complete
-(ie: all opened objects, object members and arrays are being closed).
-Free the returned value with json_node_free().</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the #JsonNode, or %NULL if the build is not complete.</doc>
-          <type name="Node" c:type="JsonNode*"/>
-        </return-value>
-      </method>
-      <method name="reset" c:identifier="json_builder_reset">
-        <doc xml:whitespace="preserve">Resets the state of the @builder back to its initial state.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="set_member_name"
-              c:identifier="json_builder_set_member_name">
-        <doc xml:whitespace="preserve">Set the name of the next member in an object. The next call must add a value,
-open an object or an array.
-Can be called only if the call is associated to an object.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #JsonBuilder, or %NULL if the call was inconsistent</doc>
-          <type name="Builder" c:type="JsonBuilder*"/>
-        </return-value>
-        <parameters>
-          <parameter name="member_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the member</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <field name="parent_instance">
-        <type name="GObject.Object" c:type="GObject"/>
-      </field>
-      <field name="priv">
-        <type name="BuilderPrivate" c:type="JsonBuilderPrivate*"/>
-      </field>
-    </class>
-    <record name="BuilderClass"
-            c:type="JsonBuilderClass"
-            glib:is-gtype-struct-for="Builder"
-            version="0.12">
-      <doc xml:whitespace="preserve">The &lt;structname&gt;JsonBuilder&lt;/structname&gt; structure contains only
-private data</doc>
-      <field name="parent_class">
-        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
-      </field>
-      <field name="_json_reserved1" introspectable="0">
-        <callback name="_json_reserved1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_json_reserved2" introspectable="0">
-        <callback name="_json_reserved2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <record name="BuilderPrivate" c:type="JsonBuilderPrivate" disguised="1">
-    </record>
-    <class name="Generator"
-           c:symbol-prefix="generator"
-           c:type="JsonGenerator"
-           parent="GObject.Object"
-           glib:type-name="JsonGenerator"
-           glib:get-type="json_generator_get_type"
-           glib:type-struct="GeneratorClass">
-      <doc xml:whitespace="preserve">JSON data streams generator. The contents of the #JsonGenerator structure
-are private and should only be accessed via the provided API.</doc>
-      <constructor name="new" c:identifier="json_generator_new">
-        <doc xml:whitespace="preserve">Creates a new #JsonGenerator. You can use this object to generate a
-JSON data stream starting from a data object model composed by
-#JsonNode&lt;!-- --&gt;s.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created #JsonGenerator instance</doc>
-          <type name="Generator" c:type="JsonGenerator*"/>
-        </return-value>
-      </constructor>
-      <method name="set_root" c:identifier="json_generator_set_root">
-        <doc xml:whitespace="preserve">Sets @node as the root of the JSON data stream to be serialized by
-the #JsonGenerator.
-&lt;note&gt;The node is copied by the generator object, so it can be safely
-freed after calling this function.&lt;/note&gt;</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #JsonNode</doc>
-            <type name="Node" c:type="JsonNode*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="to_data" c:identifier="json_generator_to_data">
-        <doc xml:whitespace="preserve">Generates a JSON data stream from @generator and returns it as a
-buffer.
-Use g_free() to free the allocated resources.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a newly allocated buffer holding a JSON data stream.</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-        <parameters>
-          <parameter name="length"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <doc xml:whitespace="preserve">return location for the length of the returned buffer, or %NULL</doc>
-            <type name="gulong" c:type="gsize*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="to_file" c:identifier="json_generator_to_file" throws="1">
-        <doc xml:whitespace="preserve">Creates a JSON data stream and puts it inside @filename, overwriting the
-current file contents. This operation is atomic.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if saving was successful.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="filename" transfer-ownership="none">
-            <doc xml:whitespace="preserve">path to the target file</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="to_stream"
-              c:identifier="json_generator_to_stream"
-              version="0.12"
-              throws="1">
-        <doc xml:whitespace="preserve">Outputs JSON data and streams it (synchronously) to @stream.
-on failure. In case of error, the #GError will be filled accordingly</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the write operation was successful, and %FALSE</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="stream" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GOutputStream</doc>
-            <type name="Gio.OutputStream" c:type="GOutputStream*"/>
-          </parameter>
-          <parameter name="cancellable"
-                     transfer-ownership="none"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">a #GCancellable, or %NULL</doc>
-            <type name="Gio.Cancellable" c:type="GCancellable*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="indent" writable="1" transfer-ownership="none">
-        <doc xml:whitespace="preserve">Number of spaces to be used to indent when pretty printing.</doc>
-        <type name="guint"/>
-      </property>
-      <property name="indent-char"
-                version="0.6"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The character that should be used when indenting in pretty print.</doc>
-        <type name="guint"/>
-      </property>
-      <property name="pretty" writable="1" transfer-ownership="none">
-        <doc xml:whitespace="preserve">Whether the output should be "pretty-printed", with indentation and
-newlines. The indentation level can be controlled by using the
-JsonGenerator:indent property</doc>
-        <type name="gboolean"/>
-      </property>
-      <property name="root"
-                version="0.4"
-                writable="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The root #JsonNode to be used when constructing a JSON data
-stream.</doc>
-        <type name="Node"/>
-      </property>
-      <field name="parent_instance">
-        <type name="GObject.Object" c:type="GObject"/>
-      </field>
-      <field name="priv">
-        <type name="GeneratorPrivate" c:type="JsonGeneratorPrivate*"/>
-      </field>
-    </class>
-    <record name="GeneratorClass"
-            c:type="JsonGeneratorClass"
-            glib:is-gtype-struct-for="Generator">
-      <doc xml:whitespace="preserve">#JsonGenerator class</doc>
-      <field name="parent_class">
-        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
-      </field>
-      <field name="_json_reserved1" introspectable="0">
-        <callback name="_json_reserved1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_json_reserved2" introspectable="0">
-        <callback name="_json_reserved2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_json_reserved3" introspectable="0">
-        <callback name="_json_reserved3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_json_reserved4" introspectable="0">
-        <callback name="_json_reserved4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <record name="GeneratorPrivate"
-            c:type="JsonGeneratorPrivate"
-            disguised="1">
-    </record>
-    <record name="Node"
-            c:type="JsonNode"
-            glib:type-name="JsonNode"
-            glib:get-type="json_node_get_type"
-            c:symbol-prefix="node">
-      <doc xml:whitespace="preserve">A generic container of JSON data types. The contents of the #JsonNode
-structure are private and should only be accessed via the provided
-functions and never directly.</doc>
-      <constructor name="new" c:identifier="json_node_new">
-        <doc xml:whitespace="preserve">Creates a new #JsonNode of @type.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created #JsonNode</doc>
-          <type name="Node" c:type="JsonNode*"/>
-        </return-value>
-        <parameters>
-          <parameter name="type" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #JsonNodeType</doc>
-            <type name="NodeType" c:type="JsonNodeType"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="copy" c:identifier="json_node_copy">
-        <doc xml:whitespace="preserve">Copies @node. If the node contains complex data types then the reference
-count of the objects is increased.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the copied #JsonNode</doc>
-          <type name="Node" c:type="JsonNode*"/>
-        </return-value>
-      </method>
-      <method name="dup_array" c:identifier="json_node_dup_array">
-        <return-value transfer-ownership="full">
-          <type name="Array" c:type="JsonArray*"/>
-        </return-value>
-      </method>
-      <method name="dup_object" c:identifier="json_node_dup_object">
-        <doc xml:whitespace="preserve">Retrieves the #JsonObject inside @node. The reference count of
-the returned object is increased.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the #JsonObject</doc>
-          <type name="Object" c:type="JsonObject*"/>
-        </return-value>
-      </method>
-      <method name="dup_string" c:identifier="json_node_dup_string">
-        <doc xml:whitespace="preserve">Gets a copy of the string value stored inside a #JsonNode
-of the #JsonNode contents. Use g_free() to free the allocated resources</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a newly allocated string containing a copy</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-      <method name="free" c:identifier="json_node_free">
-        <doc xml:whitespace="preserve">Frees the resources allocated by @node.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="get_array" c:identifier="json_node_get_array">
-        <doc xml:whitespace="preserve">Retrieves the #JsonArray stored inside a #JsonNode</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #JsonArray</doc>
-          <type name="Array" c:type="JsonArray*"/>
-        </return-value>
-      </method>
-      <method name="get_boolean" c:identifier="json_node_get_boolean">
-        <doc xml:whitespace="preserve">Gets the boolean value stored inside a #JsonNode</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a boolean value.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_double" c:identifier="json_node_get_double">
-        <doc xml:whitespace="preserve">Gets the double value stored inside a #JsonNode</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a double value.</doc>
-          <type name="gdouble" c:type="gdouble"/>
-        </return-value>
-      </method>
-      <method name="get_int" c:identifier="json_node_get_int">
-        <doc xml:whitespace="preserve">Gets the integer value stored inside a #JsonNode</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">an integer value.</doc>
-          <type name="gint64" c:type="gint64"/>
-        </return-value>
-      </method>
-      <method name="get_node_type"
-              c:identifier="json_node_get_node_type"
-              version="0.8">
-        <doc xml:whitespace="preserve">Retrieves the #JsonNodeType of @node</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the type of the node</doc>
-          <type name="NodeType" c:type="JsonNodeType"/>
-        </return-value>
-      </method>
-      <method name="get_object" c:identifier="json_node_get_object">
-        <doc xml:whitespace="preserve">Retrieves the #JsonObject stored inside a #JsonNode</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #JsonObject</doc>
-          <type name="Object" c:type="JsonObject*"/>
-        </return-value>
-      </method>
-      <method name="get_parent" c:identifier="json_node_get_parent">
-        <doc xml:whitespace="preserve">Retrieves the parent #JsonNode of @node.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the parent node, or %NULL if @node is the root node</doc>
-          <type name="Node" c:type="JsonNode*"/>
-        </return-value>
-      </method>
-      <method name="get_string" c:identifier="json_node_get_string">
-        <doc xml:whitespace="preserve">Gets the string value stored inside a #JsonNode</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a string value.</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-      <method name="get_value" c:identifier="json_node_get_value">
-        <doc xml:whitespace="preserve">Retrieves a value from a #JsonNode and copies into @value. When done
-using it, call g_value_unset() on the #GValue.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">return location for an uninitialized value</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_value_type"
-              c:identifier="json_node_get_value_type"
-              version="0.4">
-        <doc xml:whitespace="preserve">Returns the #GType of the payload of the node.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GType for the payload.</doc>
-          <type name="GType" c:type="GType"/>
-        </return-value>
-      </method>
-      <method name="is_null" c:identifier="json_node_is_null" version="0.8">
-        <doc xml:whitespace="preserve">Checks whether @node is a %JSON_NODE_NULL
-&lt;note&gt;A null node is not the same as a %NULL #JsonNode&lt;/note&gt;</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the node is null</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="set_array" c:identifier="json_node_set_array">
-        <doc xml:whitespace="preserve">Sets @array inside @node and increases the #JsonArray reference count</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="array" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #JsonArray</doc>
-            <type name="Array" c:type="JsonArray*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_boolean" c:identifier="json_node_set_boolean">
-        <doc xml:whitespace="preserve">Sets @value as the boolean content of the @node, replacing any existing
-content.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a boolean value</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_double" c:identifier="json_node_set_double">
-        <doc xml:whitespace="preserve">Sets @value as the double content of the @node, replacing any existing
-content.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a double value</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_int" c:identifier="json_node_set_int">
-        <doc xml:whitespace="preserve">Sets @value as the integer content of the @node, replacing any existing
-content.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an integer value</doc>
-            <type name="gint64" c:type="gint64"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_object" c:identifier="json_node_set_object">
-        <doc xml:whitespace="preserve">Sets @objects inside @node. The reference count of @object is increased.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #JsonObject</doc>
-            <type name="Object" c:type="JsonObject*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_parent"
-              c:identifier="json_node_set_parent"
-              version="0.8">
-        <doc xml:whitespace="preserve">Sets the parent #JsonNode of @node</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="parent" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the parent #JsonNode of @node</doc>
-            <type name="Node" c:type="JsonNode*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_string" c:identifier="json_node_set_string">
-        <doc xml:whitespace="preserve">Sets @value as the string content of the @node, replacing any existing
-content.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a string value</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_value" c:identifier="json_node_set_value">
-        <doc xml:whitespace="preserve">Sets @value inside @node. The passed #GValue is copied into the #JsonNode</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the #GValue to set</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="take_array" c:identifier="json_node_take_array">
-        <doc xml:whitespace="preserve">Sets @array into @node without increasing the #JsonArray reference count.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="array" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #JsonArray</doc>
-            <type name="Array" c:type="JsonArray*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="take_object" c:identifier="json_node_take_object">
-        <doc xml:whitespace="preserve">Sets @object inside @node. The reference count of @object is not increased.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #JsonObject</doc>
-            <type name="Object" c:type="JsonObject*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="type_name" c:identifier="json_node_type_name">
-        <doc xml:whitespace="preserve">Retrieves the user readable name of the data type contained by @node.
-is owned by the node and should never be modified or freed</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a string containing the name of the type. The returned string</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-    </record>
-    <enumeration name="NodeType" c:type="JsonNodeType">
-      <doc xml:whitespace="preserve">Indicates the content of a #JsonNode.</doc>
-      <member name="object" value="0" c:identifier="JSON_NODE_OBJECT"/>
-      <member name="array" value="1" c:identifier="JSON_NODE_ARRAY"/>
-      <member name="value" value="2" c:identifier="JSON_NODE_VALUE"/>
-      <member name="null" value="3" c:identifier="JSON_NODE_NULL"/>
-    </enumeration>
-    <record name="Object"
-            c:type="JsonObject"
-            glib:type-name="JsonObject"
-            glib:get-type="json_object_get_type"
-            c:symbol-prefix="object">
-      <doc xml:whitespace="preserve">A JSON object type. The contents of the #JsonObject structure are private
-and should only be accessed by the provided API</doc>
-      <constructor name="new" c:identifier="json_object_new">
-        <doc xml:whitespace="preserve">Creates a new #JsonObject, an JSON object type representation.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created #JsonObject</doc>
-          <type name="Object" c:type="JsonObject*"/>
-        </return-value>
-      </constructor>
-      <method name="add_member"
-              c:identifier="json_object_add_member"
-              deprecated="Use json_object_set_member() instead"
-              deprecated-version="0.8">
-        <doc xml:whitespace="preserve">Adds a member named @member_name and containing @node into a #JsonObject.
-The object will take ownership of the #JsonNode.
-This function will return if the @object already contains a member</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="member_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the member</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value of the member</doc>
-            <type name="Node" c:type="JsonNode*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="dup_member"
-              c:identifier="json_object_dup_member"
-              version="0.6">
-        <doc xml:whitespace="preserve">Retrieves a copy of the #JsonNode containing the value of @member_name
-inside a #JsonObject
-object member or %NULL. Use json_node_free() when done.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">(transfer full) a copy of the node for the requested</doc>
-          <type name="Node" c:type="JsonNode*"/>
-        </return-value>
-        <parameters>
-          <parameter name="member_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the JSON object member to access</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="foreach_member"
-              c:identifier="json_object_foreach_member"
-              version="0.8">
-        <doc xml:whitespace="preserve">Iterates over all members of @object and calls @func on
-each one of them.
-It is safe to change the value of a #JsonNode of the @object
-from within the iterator @func, but it is not safe to add or
-remove members from the @object.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="func"
-                     transfer-ownership="none"
-                     scope="call"
-                     closure="1">
-            <doc xml:whitespace="preserve">the function to be called on each member</doc>
-            <type name="ObjectForeach" c:type="JsonObjectForeach"/>
-          </parameter>
-          <parameter name="data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">data to be passed to the function</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_array_member"
-              c:identifier="json_object_get_array_member"
-              version="0.8">
-        <doc xml:whitespace="preserve">Convenience function that retrieves the array
-stored in @member_name of @object</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the array inside the object's member</doc>
-          <type name="Array" c:type="JsonArray*"/>
-        </return-value>
-        <parameters>
-          <parameter name="member_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the member</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_boolean_member"
-              c:identifier="json_object_get_boolean_member"
-              version="0.8">
-        <doc xml:whitespace="preserve">Convenience function that retrieves the boolean value
-stored in @member_name of @object</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the boolean value of the object's member</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="member_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the member</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_double_member"
-              c:identifier="json_object_get_double_member"
-              version="0.8">
-        <doc xml:whitespace="preserve">Convenience function that retrieves the floating point value
-stored in @member_name of @object</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the floating point value of the object's member</doc>
-          <type name="gdouble" c:type="gdouble"/>
-        </return-value>
-        <parameters>
-          <parameter name="member_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the member</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_int_member"
-              c:identifier="json_object_get_int_member"
-              version="0.8">
-        <doc xml:whitespace="preserve">Convenience function that retrieves the integer value
-stored in @member_name of @object</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the integer value of the object's member</doc>
-          <type name="gint64" c:type="gint64"/>
-        </return-value>
-        <parameters>
-          <parameter name="member_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the member</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_member" c:identifier="json_object_get_member">
-        <doc xml:whitespace="preserve">Retrieves the #JsonNode containing the value of @member_name inside
-a #JsonObject.
-member, or %NULL</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a pointer to the node for the requested object</doc>
-          <type name="Node" c:type="JsonNode*"/>
-        </return-value>
-        <parameters>
-          <parameter name="member_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the JSON object member to access</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_members" c:identifier="json_object_get_members">
-        <doc xml:whitespace="preserve">Retrieves all the names of the members of a #JsonObject. You can
-obtain the value for each member using json_object_get_member().
-of member names. The content of the list is owned by the #JsonObject
-and should never be modified or freed. When you have finished using
-the returned list, use g_list_free() to free the resources it has
-allocated.</doc>
-        <return-value transfer-ownership="container">
-          <doc xml:whitespace="preserve">a #GList</doc>
-          <type name="GLib.List" c:type="GList*">
-            <type name="utf8"/>
-          </type>
-        </return-value>
-      </method>
-      <method name="get_null_member"
-              c:identifier="json_object_get_null_member"
-              version="0.8">
-        <doc xml:whitespace="preserve">Convenience function that checks whether the value
-stored in @member_name of @object is null</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the value is null</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="member_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the member</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_object_member"
-              c:identifier="json_object_get_object_member"
-              version="0.8">
-        <doc xml:whitespace="preserve">Convenience function that retrieves the object
-stored in @member_name of @object</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the object inside the object's member</doc>
-          <type name="Object" c:type="JsonObject*"/>
-        </return-value>
-        <parameters>
-          <parameter name="member_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the member</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_size" c:identifier="json_object_get_size">
-        <doc xml:whitespace="preserve">Retrieves the number of members of a #JsonObject.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of members</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_string_member"
-              c:identifier="json_object_get_string_member"
-              version="0.8">
-        <doc xml:whitespace="preserve">Convenience function that retrieves the string value
-stored in @member_name of @object</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the string value of the object's member</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-        <parameters>
-          <parameter name="member_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the member</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="get_values" c:identifier="json_object_get_values">
-        <doc xml:whitespace="preserve">Retrieves all the values of the members of a #JsonObject.
-#JsonNode&lt;!-- --&gt;s. The content of the list is owned by the #JsonObject
-and should never be modified or freed. When you have finished using the
-returned list, use g_list_free() to free the resources it has allocated.</doc>
-        <return-value transfer-ownership="container">
-          <doc xml:whitespace="preserve">a #GList of</doc>
-          <type name="GLib.List" c:type="GList*">
-            <type name="Node"/>
-          </type>
-        </return-value>
-      </method>
-      <method name="has_member" c:identifier="json_object_has_member">
-        <doc xml:whitespace="preserve">Checks whether @object has a member named @member_name.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the JSON object has the requested member</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="member_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of a JSON object member</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="ref" c:identifier="json_object_ref">
-        <doc xml:whitespace="preserve">Increase by one the reference count of a #JsonObject.
-increased by one.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the passed #JsonObject, with the reference count</doc>
-          <type name="Object" c:type="JsonObject*"/>
-        </return-value>
-      </method>
-      <method name="remove_member" c:identifier="json_object_remove_member">
-        <doc xml:whitespace="preserve">Removes @member_name from @object, freeing its allocated resources.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="member_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the member to remove</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_array_member"
-              c:identifier="json_object_set_array_member"
-              version="0.8">
-        <doc xml:whitespace="preserve">Convenience function for setting an array @value of
-The @object will take ownership of the passed #JsonArray</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="member_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the member</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value of the member</doc>
-            <type name="Array" c:type="JsonArray*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_boolean_member"
-              c:identifier="json_object_set_boolean_member"
-              version="0.8">
-        <doc xml:whitespace="preserve">Convenience function for setting a boolean @value of</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="member_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the member</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value of the member</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_double_member"
-              c:identifier="json_object_set_double_member"
-              version="0.8">
-        <doc xml:whitespace="preserve">Convenience function for setting a floating point @value
-of @member_name inside @object.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="member_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the member</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value of the member</doc>
-            <type name="gdouble" c:type="gdouble"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_int_member"
-              c:identifier="json_object_set_int_member"
-              version="0.8">
-        <doc xml:whitespace="preserve">Convenience function for setting an integer @value of</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="member_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the member</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value of the member</doc>
-            <type name="gint64" c:type="gint64"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_member"
-              c:identifier="json_object_set_member"
-              version="0.8">
-        <doc xml:whitespace="preserve">Sets @node as the value of @member_name inside @object.
-If @object already contains a member called @member_name then
-the member's current value is overwritten. Otherwise, a new
-member is added to @object.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="member_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the member</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value of the member</doc>
-            <type name="Node" c:type="JsonNode*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_null_member"
-              c:identifier="json_object_set_null_member"
-              version="0.8">
-        <doc xml:whitespace="preserve">Convenience function for setting a null @value of</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="member_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the member</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_object_member"
-              c:identifier="json_object_set_object_member"
-              version="0.8">
-        <doc xml:whitespace="preserve">Convenience function for setting an object @value of
-The @object will take ownership of the passed #JsonObject</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="member_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the member</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value of the member</doc>
-            <type name="Object" c:type="JsonObject*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_string_member"
-              c:identifier="json_object_set_string_member"
-              version="0.8">
-        <doc xml:whitespace="preserve">Convenience function for setting a string @value of</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="member_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the member</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value of the member</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="unref" c:identifier="json_object_unref">
-        <doc xml:whitespace="preserve">Decreases by one the reference count of a #JsonObject. If the
-reference count reaches zero, the object is destroyed and all
-its allocated resources are freed.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-    </record>
-    <callback name="ObjectForeach" c:type="JsonObjectForeach" version="0.8">
-      <doc xml:whitespace="preserve">The function to be passed to json_object_foreach_member(). You
-should not add or remove members to and from @object within
-this function. It is safe to change the value of @member_node.</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="object" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the iterated #JsonObject</doc>
-          <type name="Object" c:type="JsonObject*"/>
-        </parameter>
-        <parameter name="member_name" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the name of the member</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </parameter>
-        <parameter name="member_node" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #JsonNode containing the @member_name value</doc>
-          <type name="Node" c:type="JsonNode*"/>
-        </parameter>
-        <parameter name="user_data" transfer-ownership="none" closure="3">
-          <doc xml:whitespace="preserve">data passed to the function</doc>
-          <type name="gpointer" c:type="gpointer"/>
-        </parameter>
-      </parameters>
-    </callback>
-    <class name="Parser"
-           c:symbol-prefix="parser"
-           c:type="JsonParser"
-           parent="GObject.Object"
-           glib:type-name="JsonParser"
-           glib:get-type="json_parser_get_type"
-           glib:type-struct="ParserClass">
-      <doc xml:whitespace="preserve">JSON data streams parser. The contents of the #JsonParser structure are
-private and should only be accessed via the provided API.</doc>
-      <constructor name="new" c:identifier="json_parser_new">
-        <doc xml:whitespace="preserve">Creates a new #JsonParser instance. You can use the #JsonParser to
-load a JSON stream from either a file or a buffer and then walk the
-hierarchy using the data types API.
-to release all the memory it allocates.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created #JsonParser. Use g_object_unref()</doc>
-          <type name="Parser" c:type="JsonParser*"/>
-        </return-value>
-      </constructor>
-      <function name="error_quark" c:identifier="json_parser_error_quark">
-        <return-value transfer-ownership="none">
-          <type name="GLib.Quark" c:type="GQuark"/>
-        </return-value>
-      </function>
-      <method name="get_current_line"
-              c:identifier="json_parser_get_current_line">
-        <doc xml:whitespace="preserve">Retrieves the line currently parsed, starting from 1.
-This function has defined behaviour only while parsing; calling this
-function from outside the signal handlers emitted by #JsonParser will
-yield 0.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the currently parsed line, or 0.</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_current_pos"
-              c:identifier="json_parser_get_current_pos">
-        <doc xml:whitespace="preserve">Retrieves the current position inside the current line, starting
-from 0.
-This function has defined behaviour only while parsing; calling this
-function from outside the signal handlers emitted by #JsonParser will
-yield 0.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the position in the current line, or 0.</doc>
-          <type name="guint" c:type="guint"/>
-        </return-value>
-      </method>
-      <method name="get_root" c:identifier="json_parser_get_root">
-        <doc xml:whitespace="preserve">Retrieves the top level node from the parsed JSON stream.
-node is owned by the #JsonParser and should never be modified
-or freed.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the root #JsonNode . The returned</doc>
-          <type name="Node" c:type="JsonNode*"/>
-        </return-value>
-      </method>
-      <method name="has_assignment"
-              c:identifier="json_parser_has_assignment"
-              version="0.4">
-        <doc xml:whitespace="preserve">A JSON data stream might sometimes contain an assignment, like:
-|[
-]|
-even though it would technically constitute a violation of the RFC.
-#JsonParser will ignore the left hand identifier and parse the right
-hand value of the assignment. #JsonParser will record, though, the
-existence of the assignment in the data stream and the variable name
-used.
-used in the assignment. The string is owned by #JsonParser and should
-never be modified or freed.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if there was an assignment, %FALSE otherwise. If</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="variable_name"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">Return location for the variable name, or %NULL</doc>
-            <type name="utf8" c:type="gchar**"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="load_from_data"
-              c:identifier="json_parser_load_from_data"
-              throws="1">
-        <doc xml:whitespace="preserve">Loads a JSON stream from a buffer and parses it. You can call this function
-multiple times with the same #JsonParser object, but the contents of the
-parser will be destroyed each time.
-of error, @error is set accordingly and %FALSE is returned</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the buffer was succesfully parser. In case</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the buffer to parse</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="length" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the length of the buffer, or -1</doc>
-            <type name="glong" c:type="gssize"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="load_from_file"
-              c:identifier="json_parser_load_from_file"
-              throws="1">
-        <doc xml:whitespace="preserve">Loads a JSON stream from the content of @filename and parses it. See
-json_parser_load_from_data().
-In case of error, @error is set accordingly and %FALSE is returned</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the file was successfully loaded and parsed.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="filename" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the path for the file to parse</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="load_from_stream"
-              c:identifier="json_parser_load_from_stream"
-              version="0.12"
-              throws="1">
-        <doc xml:whitespace="preserve">Loads the contents of an input stream and parses them.
-If @cancellable is not %NULL, then the operation can be cancelled by
-triggering the @cancellable object from another thread. If the
-operation was cancelled, the error %G_IO_ERROR_CANCELLED will be set
-on the passed @error.
-parsed, and %FALSE otherwise</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the data stream was successfully read and</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="stream" transfer-ownership="none">
-            <doc xml:whitespace="preserve">an open #GInputStream</doc>
-            <type name="Gio.InputStream" c:type="GInputStream*"/>
-          </parameter>
-          <parameter name="cancellable"
-                     transfer-ownership="none"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">a #GCancellable, or %NULL</doc>
-            <type name="Gio.Cancellable" c:type="GCancellable*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="load_from_stream_async"
-              c:identifier="json_parser_load_from_stream_async"
-              version="0.12">
-        <doc xml:whitespace="preserve">Asynchronously reads the contents of @stream.
-For more details, see json_parser_load_from_stream() which is the
-synchronous version of this call.
-When the operation is finished, @callback will be called. You should
-then call json_parser_load_from_stream_finish() to get the result
-of the operation.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="stream" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GInputStream</doc>
-            <type name="Gio.InputStream" c:type="GInputStream*"/>
-          </parameter>
-          <parameter name="cancellable"
-                     transfer-ownership="none"
-                     allow-none="1">
-            <doc xml:whitespace="preserve">a #GCancellable, or %NULL</doc>
-            <type name="Gio.Cancellable" c:type="GCancellable*"/>
-          </parameter>
-          <parameter name="callback"
-                     transfer-ownership="none"
-                     scope="async"
-                     closure="3">
-            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when the request is satisfied</doc>
-            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
-          </parameter>
-          <parameter name="user_data" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the data to pass to @callback</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="load_from_stream_finish"
-              c:identifier="json_parser_load_from_stream_finish"
-              version="0.12"
-              throws="1">
-        <doc xml:whitespace="preserve">Finishes an asynchronous stream loading started with
-json_parser_load_from_stream_async().
-and parsed, and %FALSE otherwise. In case of error, the #GError will be
-filled accordingly.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the content of the stream was successfully retrieves</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="result" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GAsyncResult</doc>
-            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <field name="parent_instance">
-        <type name="GObject.Object" c:type="GObject"/>
-      </field>
-      <field name="priv">
-        <type name="ParserPrivate" c:type="JsonParserPrivate*"/>
-      </field>
-      <glib:signal name="array-element">
-        <doc xml:whitespace="preserve">The ::array-element signal is emitted each time the #JsonParser
-has successfully parsed a single element of a #JsonArray. The
-array and element index are passed to the signal handlers.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #JsonArray</doc>
-            <type name="Array"/>
-          </parameter>
-          <parameter name="p0" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the index of the newly parsed element</doc>
-            <type name="gint"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="array-end">
-        <doc xml:whitespace="preserve">The ::array-end signal is emitted each time the #JsonParser
-has successfully parsed an entire #JsonArray</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the parsed #JsonArray</doc>
-            <type name="Array"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="array-start">
-        <doc xml:whitespace="preserve">The ::array-start signal is emitted each time the #JsonParser
-starts parsing a #JsonArray</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="error">
-        <doc xml:whitespace="preserve">The ::error signal is emitted each time a #JsonParser encounters
-an error in a JSON stream.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a pointer to the #GError</doc>
-            <type name="gpointer"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="object-end">
-        <doc xml:whitespace="preserve">The ::object-end signal is emitted each time the #JsonParser
-has successfully parsed an entire #JsonObject.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the parsed #JsonObject</doc>
-            <type name="Object"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="object-member">
-        <doc xml:whitespace="preserve">The ::object-member signal is emitted each time the #JsonParser
-has successfully parsed a single member of a #JsonObject. The
-object and member are passed to the signal handlers.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #JsonObject</doc>
-            <type name="Object"/>
-          </parameter>
-          <parameter name="p0" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the newly parsed member</doc>
-            <type name="utf8"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-      <glib:signal name="object-start">
-        <doc xml:whitespace="preserve">The ::object-start signal is emitted each time the #JsonParser
-starts parsing a #JsonObject.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="parse-end">
-        <doc xml:whitespace="preserve">The ::parse-end signal is emitted when the parser successfully
-finished parsing a JSON data stream</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="parse-start">
-        <doc xml:whitespace="preserve">The ::parse-start signal is emitted when the parser began parsing
-a JSON data stream.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none"/>
-        </return-value>
-      </glib:signal>
-    </class>
-    <record name="ParserClass"
-            c:type="JsonParserClass"
-            glib:is-gtype-struct-for="Parser">
-      <doc xml:whitespace="preserve">#JsonParser class.</doc>
-      <field name="parent_class">
-        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
-      </field>
-      <field name="parse_start">
-        <callback name="parse_start">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="parser" transfer-ownership="none">
-              <type name="Parser" c:type="JsonParser*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="object_start">
-        <callback name="object_start">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="parser" transfer-ownership="none">
-              <type name="Parser" c:type="JsonParser*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="object_member">
-        <callback name="object_member">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="parser" transfer-ownership="none">
-              <type name="Parser" c:type="JsonParser*"/>
-            </parameter>
-            <parameter name="object" transfer-ownership="none">
-              <type name="Object" c:type="JsonObject*"/>
-            </parameter>
-            <parameter name="member_name" transfer-ownership="none">
-              <type name="utf8" c:type="gchar*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="object_end">
-        <callback name="object_end">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="parser" transfer-ownership="none">
-              <type name="Parser" c:type="JsonParser*"/>
-            </parameter>
-            <parameter name="object" transfer-ownership="none">
-              <type name="Object" c:type="JsonObject*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="array_start">
-        <callback name="array_start">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="parser" transfer-ownership="none">
-              <type name="Parser" c:type="JsonParser*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="array_element">
-        <callback name="array_element">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="parser" transfer-ownership="none">
-              <type name="Parser" c:type="JsonParser*"/>
-            </parameter>
-            <parameter name="array" transfer-ownership="none">
-              <type name="Array" c:type="JsonArray*"/>
-            </parameter>
-            <parameter name="index_" transfer-ownership="none">
-              <type name="gint" c:type="gint"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="array_end">
-        <callback name="array_end">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="parser" transfer-ownership="none">
-              <type name="Parser" c:type="JsonParser*"/>
-            </parameter>
-            <parameter name="array" transfer-ownership="none">
-              <type name="Array" c:type="JsonArray*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="parse_end">
-        <callback name="parse_end">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="parser" transfer-ownership="none">
-              <type name="Parser" c:type="JsonParser*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="error">
-        <callback name="error">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="parser" transfer-ownership="none">
-              <type name="Parser" c:type="JsonParser*"/>
-            </parameter>
-            <parameter name="error" transfer-ownership="none">
-              <type name="GLib.Error" c:type="GError*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_json_reserved1" introspectable="0">
-        <callback name="_json_reserved1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_json_reserved2" introspectable="0">
-        <callback name="_json_reserved2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_json_reserved3" introspectable="0">
-        <callback name="_json_reserved3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_json_reserved4" introspectable="0">
-        <callback name="_json_reserved4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_json_reserved5" introspectable="0">
-        <callback name="_json_reserved5">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_json_reserved6" introspectable="0">
-        <callback name="_json_reserved6">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_json_reserved7" introspectable="0">
-        <callback name="_json_reserved7">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_json_reserved8" introspectable="0">
-        <callback name="_json_reserved8">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <enumeration name="ParserError" c:type="JsonParserError">
-      <doc xml:whitespace="preserve">Error enumeration for #JsonParser
-This enumeration can be extended at later date</doc>
-      <member name="parse" value="0" c:identifier="JSON_PARSER_ERROR_PARSE"/>
-      <member name="trailing_comma"
-              value="1"
-              c:identifier="JSON_PARSER_ERROR_TRAILING_COMMA"/>
-      <member name="missing_comma"
-              value="2"
-              c:identifier="JSON_PARSER_ERROR_MISSING_COMMA"/>
-      <member name="missing_colon"
-              value="3"
-              c:identifier="JSON_PARSER_ERROR_MISSING_COLON"/>
-      <member name="invalid_bareword"
-              value="4"
-              c:identifier="JSON_PARSER_ERROR_INVALID_BAREWORD"/>
-      <member name="unknown"
-              value="5"
-              c:identifier="JSON_PARSER_ERROR_UNKNOWN"/>
-    </enumeration>
-    <record name="ParserPrivate" c:type="JsonParserPrivate" disguised="1">
-    </record>
-    <class name="Reader"
-           c:symbol-prefix="reader"
-           c:type="JsonReader"
-           version="0.12"
-           parent="GObject.Object"
-           glib:type-name="JsonReader"
-           glib:get-type="json_reader_get_type"
-           glib:type-struct="ReaderClass">
-      <doc xml:whitespace="preserve">The &lt;structname&gt;JsonReader&lt;/structname&gt; structure contains only
-private data and should only be accessed using the provided API</doc>
-      <constructor name="new" c:identifier="json_reader_new" version="0.12">
-        <doc xml:whitespace="preserve">Creates a new #JsonReader. You can use this object to read the contents of
-the JSON tree starting from @node
-release the allocated resources when done</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">the newly created #JsonReader. Use g_object_unref() to</doc>
-          <type name="Reader" c:type="JsonReader*"/>
-        </return-value>
-        <parameters>
-          <parameter name="node" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #JsonNode, or %NULL</doc>
-            <type name="Node" c:type="JsonNode*"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <function name="error_quark" c:identifier="json_reader_error_quark">
-        <return-value transfer-ownership="none">
-          <type name="GLib.Quark" c:type="GQuark"/>
-        </return-value>
-      </function>
-      <method name="count_elements"
-              c:identifier="json_reader_count_elements"
-              version="0.12">
-        <doc xml:whitespace="preserve">Counts the elements of the current position, if @reader is
-positioned on an array
-the #JsonReader is set in an error state</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of elements, or -1. In case of failure</doc>
-          <type name="gint" c:type="gint"/>
-        </return-value>
-      </method>
-      <method name="count_members"
-              c:identifier="json_reader_count_members"
-              version="0.12">
-        <doc xml:whitespace="preserve">Counts the members of the current position, if @reader is
-positioned on an object
-the #JsonReader is set in an error state</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the number of members, or -1. In case of failure</doc>
-          <type name="gint" c:type="gint"/>
-        </return-value>
-      </method>
-      <method name="end_element"
-              c:identifier="json_reader_end_element"
-              version="0.12">
-        <doc xml:whitespace="preserve">Moves the cursor back to the previous node after being positioned
-inside an array
-This function resets the error state of @reader, if any was set</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="end_member"
-              c:identifier="json_reader_end_member"
-              version="0.12">
-        <doc xml:whitespace="preserve">Moves the cursor back to the previous node after being positioned
-inside an object
-This function resets the error state of @reader, if any was set</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="get_boolean_value"
-              c:identifier="json_reader_get_boolean_value"
-              version="0.12">
-        <doc xml:whitespace="preserve">Retrieves the boolean value of the current position of @reader</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the boolean value</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_double_value"
-              c:identifier="json_reader_get_double_value"
-              version="0.12">
-        <doc xml:whitespace="preserve">Retrieves the floating point value of the current position of @reader</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the floating point value</doc>
-          <type name="gdouble" c:type="gdouble"/>
-        </return-value>
-      </method>
-      <method name="get_error"
-              c:identifier="json_reader_get_error"
-              version="0.12">
-        <doc xml:whitespace="preserve">Retrieves the #GError currently set on @reader, if the #JsonReader
-is in error state</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the pointer to the error, or %NULL</doc>
-          <type name="GLib.Error" c:type="GError*"/>
-        </return-value>
-      </method>
-      <method name="get_int_value"
-              c:identifier="json_reader_get_int_value"
-              version="0.12">
-        <doc xml:whitespace="preserve">Retrieves the integer value of the current position of @reader</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the integer value</doc>
-          <type name="gint64" c:type="gint64"/>
-        </return-value>
-      </method>
-      <method name="get_null_value"
-              c:identifier="json_reader_get_null_value"
-              version="0.12">
-        <doc xml:whitespace="preserve">Checks whether the value of the current position of @reader is 'null'</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if 'null' is set, and %FALSE otherwise</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="get_string_value"
-              c:identifier="json_reader_get_string_value"
-              version="0.12">
-        <doc xml:whitespace="preserve">Retrieves the string value of the current position of @reader</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">the string value</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </return-value>
-      </method>
-      <method name="get_value"
-              c:identifier="json_reader_get_value"
-              version="0.12">
-        <doc xml:whitespace="preserve">Retrieves the #JsonNode of the current position of @reader
-is owned by the #JsonReader and it should not be modified or freed
-directly</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #JsonNode, or %NULL. The returned node</doc>
-          <type name="Node" c:type="JsonNode*"/>
-        </return-value>
-      </method>
-      <method name="is_array"
-              c:identifier="json_reader_is_array"
-              version="0.12">
-        <doc xml:whitespace="preserve">Checks whether the @reader is currently on an array
-otherwise</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the #JsonReader is on an array, and %FALSE</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="is_object"
-              c:identifier="json_reader_is_object"
-              version="0.12">
-        <doc xml:whitespace="preserve">Checks whether the @reader is currently on an object
-otherwise</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the #JsonReader is on an object, and %FALSE</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="is_value"
-              c:identifier="json_reader_is_value"
-              version="0.12">
-        <doc xml:whitespace="preserve">Checks whether the @reader is currently on a value
-otherwise</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the #JsonReader is on a value, and %FALSE</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="read_element"
-              c:identifier="json_reader_read_element"
-              version="0.12">
-        <doc xml:whitespace="preserve">Advances the cursor of @reader to the element @index_ of array at the
-current position.
-You can use the json_reader_get_value* family of functions to retrieve
-the value of the element; for instance:
-|[
-json_reader_read_element (reader, 0);
-int_value = json_reader_get_int_value (reader);
-]|
-After reading the value, json_reader_end_element() should be called to
-reposition the cursor inside the #JsonReader, e.g.:
-|[
-json_reader_read_element (reader, 1);
-str_value = json_reader_get_string_value (reader);
-json_reader_end_element (reader);
-json_reader_read_element (reader, 2);
-str_value = json_reader_get_string_value (reader);
-json_reader_end_element (reader);
-]|
-If @reader is not currently on an array, or if the @index_ is bigger than
-the size of the array, the #JsonReader will be put in an error state until
-json_reader_end_element() is called.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE on success, and %FALSE otherwise</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="index_" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the index of the element</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="read_member"
-              c:identifier="json_reader_read_member"
-              version="0.12">
-        <doc xml:whitespace="preserve">Advances the cursor of @reader to the @member_name of the object at the
-current position.
-You can use the json_reader_get_value* family of functions to retrieve
-the value of the member; for instance:
-|[
-json_reader_read_member (reader, "width");
-width = json_reader_get_int_value (reader);
-]|
-After reading the value, json_reader_end_member() should be called to
-reposition the cursor inside the #JsonReader, e.g.:
-|[
-json_reader_read_member (reader, "author");
-author = json_reader_get_string_value (reader);
-json_reader_end_element (reader);
-json_reader_read_element (reader, "title");
-title = json_reader_get_string_value (reader);
-json_reader_end_element (reader);
-]|
-If @reader is not currently on an object, or if the @member_name is not
-defined in the object, the #JsonReader will be put in an error state until
-json_reader_end_member() is called.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE on success, and %FALSE otherwise</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="member_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the member to read</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="set_root"
-              c:identifier="json_reader_set_root"
-              version="0.12">
-        <doc xml:whitespace="preserve">Sets the root #JsonNode to be read by @reader. The @reader will take
-a copy of @root
-If another #JsonNode is currently set as root, it will be replaced.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="root" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #JsonNode</doc>
-            <type name="Node" c:type="JsonNode*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="root"
-                version="0.12"
-                writable="1"
-                construct="1"
-                transfer-ownership="none">
-        <doc xml:whitespace="preserve">The root of the JSON tree that the #JsonReader should read.</doc>
-        <type name="Node"/>
-      </property>
-      <field name="parent_instance">
-        <type name="GObject.Object" c:type="GObject"/>
-      </field>
-      <field name="priv">
-        <type name="ReaderPrivate" c:type="JsonReaderPrivate*"/>
-      </field>
-    </class>
-    <record name="ReaderClass"
-            c:type="JsonReaderClass"
-            glib:is-gtype-struct-for="Reader"
-            version="0.12">
-      <doc xml:whitespace="preserve">The &lt;structname&gt;JsonReaderClass&lt;/structname&gt; structure contains only
-private data</doc>
-      <field name="parent_class">
-        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
-      </field>
-      <field name="_json_padding0" introspectable="0">
-        <callback name="_json_padding0">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_json_padding1" introspectable="0">
-        <callback name="_json_padding1">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_json_padding2" introspectable="0">
-        <callback name="_json_padding2">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_json_padding3" introspectable="0">
-        <callback name="_json_padding3">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-      <field name="_json_padding4" introspectable="0">
-        <callback name="_json_padding4">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-        </callback>
-      </field>
-    </record>
-    <enumeration name="ReaderError" version="0.12" c:type="JsonReaderError">
-      <doc xml:whitespace="preserve">Error codes enumeration for #JsonReader errors</doc>
-      <member name="no_array"
-              value="0"
-              c:identifier="JSON_READER_ERROR_NO_ARRAY"/>
-      <member name="invalid_index"
-              value="1"
-              c:identifier="JSON_READER_ERROR_INVALID_INDEX"/>
-      <member name="no_object"
-              value="2"
-              c:identifier="JSON_READER_ERROR_NO_OBJECT"/>
-      <member name="invalid_member"
-              value="3"
-              c:identifier="JSON_READER_ERROR_INVALID_MEMBER"/>
-    </enumeration>
-    <record name="ReaderPrivate" c:type="JsonReaderPrivate" disguised="1">
-    </record>
-    <interface name="Serializable"
-               c:symbol-prefix="serializable"
-               c:type="JsonSerializable"
-               glib:type-name="JsonSerializable"
-               glib:get-type="json_serializable_get_type"
-               glib:type-struct="SerializableIface">
-      <virtual-method name="deserialize_property"
-                      invoker="deserialize_property">
-        <doc xml:whitespace="preserve">Asks a #JsonSerializable implementation to deserialize the
-property contained inside @property_node into @value.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the property was successfully deserialized.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the property</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a pointer to an uninitialized #GValue</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-          <parameter name="pspec" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GParamSpec</doc>
-            <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
-          </parameter>
-          <parameter name="property_node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #JsonNode containing the serialized property</doc>
-            <type name="Node" c:type="JsonNode*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="serialize_property" invoker="serialize_property">
-        <doc xml:whitespace="preserve">Asks a #JsonSerializable implementation to serialize a #GObject
-property into a #JsonNode object.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a #JsonNode containing the serialized property</doc>
-          <type name="Node" c:type="JsonNode*"/>
-        </return-value>
-        <parameters>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the property</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value of the property</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-          <parameter name="pspec" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GParamSpec</doc>
-            <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <method name="default_deserialize_property"
-              c:identifier="json_serializable_default_deserialize_property"
-              version="0.10">
-        <doc xml:whitespace="preserve">Calls the default implementation of the #JsonSerializable
-deserialize_property() virtual function
-This function can be used inside a custom implementation
-of the deserialize_property() virtual function in lieu of:
-|[
-JsonSerializable *iface;
-gboolean res;
-iface = g_type_default_interface_peek (JSON_TYPE_SERIALIZABLE);
-res = iface-&gt;deserialize_property (serializable, property_name,
-value,
-pspec,
-property_node);
-]|</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the property was successfully deserialized.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the property</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a pointer to an uninitialized #GValue</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-          <parameter name="pspec" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GParamSpec</doc>
-            <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
-          </parameter>
-          <parameter name="property_node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #JsonNode containing the serialized property</doc>
-            <type name="Node" c:type="JsonNode*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="default_serialize_property"
-              c:identifier="json_serializable_default_serialize_property"
-              version="0.10">
-        <doc xml:whitespace="preserve">Calls the default implementation of the #JsonSerializable
-serialize_property() virtual function
-This function can be used inside a custom implementation
-of the serialize_property() virtual function in lieu of:
-|[
-JsonSerializable *iface;
-JsonNode *node;
-iface = g_type_default_interface_peek (JSON_TYPE_SERIALIZABLE);
-node = iface-&gt;serialize_property (serializable, property_name,
-value,
-pspec);
-]|
-property</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a #JsonNode containing the serialized</doc>
-          <type name="Node" c:type="JsonNode*"/>
-        </return-value>
-        <parameters>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the property</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value of the property</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-          <parameter name="pspec" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GParamSpec</doc>
-            <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="deserialize_property"
-              c:identifier="json_serializable_deserialize_property">
-        <doc xml:whitespace="preserve">Asks a #JsonSerializable implementation to deserialize the
-property contained inside @property_node into @value.</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:whitespace="preserve">%TRUE if the property was successfully deserialized.</doc>
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the property</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a pointer to an uninitialized #GValue</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-          <parameter name="pspec" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GParamSpec</doc>
-            <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
-          </parameter>
-          <parameter name="property_node" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #JsonNode containing the serialized property</doc>
-            <type name="Node" c:type="JsonNode*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="serialize_property"
-              c:identifier="json_serializable_serialize_property">
-        <doc xml:whitespace="preserve">Asks a #JsonSerializable implementation to serialize a #GObject
-property into a #JsonNode object.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:whitespace="preserve">a #JsonNode containing the serialized property</doc>
-          <type name="Node" c:type="JsonNode*"/>
-        </return-value>
-        <parameters>
-          <parameter name="property_name" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the name of the property</doc>
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-          <parameter name="value" transfer-ownership="none">
-            <doc xml:whitespace="preserve">the value of the property</doc>
-            <type name="GObject.Value" c:type="GValue*"/>
-          </parameter>
-          <parameter name="pspec" transfer-ownership="none">
-            <doc xml:whitespace="preserve">a #GParamSpec</doc>
-            <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
-          </parameter>
-        </parameters>
-      </method>
-    </interface>
-    <record name="SerializableIface"
-            c:type="JsonSerializableIface"
-            glib:is-gtype-struct-for="Serializable">
-      <doc xml:whitespace="preserve">Interface that allows serializing and deserializing #GObject&lt;!-- --&gt;s
-with properties storing complex data types. The json_serialize_gobject()
-function will check if the passed #GObject implements this interface,
-so it can also be used to override the default property serialization
-sequence.</doc>
-      <field name="g_iface">
-        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
-      </field>
-      <field name="serialize_property">
-        <callback name="serialize_property">
-          <return-value transfer-ownership="full">
-            <doc xml:whitespace="preserve">a #JsonNode containing the serialized property</doc>
-            <type name="Node" c:type="JsonNode*"/>
-          </return-value>
-          <parameters>
-            <parameter name="serializable" transfer-ownership="none">
-              <type name="Serializable" c:type="JsonSerializable*"/>
-            </parameter>
-            <parameter name="property_name" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the name of the property</doc>
-              <type name="utf8" c:type="gchar*"/>
-            </parameter>
-            <parameter name="value" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the value of the property</doc>
-              <type name="GObject.Value" c:type="GValue*"/>
-            </parameter>
-            <parameter name="pspec" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a #GParamSpec</doc>
-              <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="deserialize_property">
-        <callback name="deserialize_property">
-          <return-value transfer-ownership="none">
-            <doc xml:whitespace="preserve">%TRUE if the property was successfully deserialized.</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="serializable" transfer-ownership="none">
-              <type name="Serializable" c:type="JsonSerializable*"/>
-            </parameter>
-            <parameter name="property_name" transfer-ownership="none">
-              <doc xml:whitespace="preserve">the name of the property</doc>
-              <type name="utf8" c:type="gchar*"/>
-            </parameter>
-            <parameter name="value" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a pointer to an uninitialized #GValue</doc>
-              <type name="GObject.Value" c:type="GValue*"/>
-            </parameter>
-            <parameter name="pspec" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a #GParamSpec</doc>
-              <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
-            </parameter>
-            <parameter name="property_node" transfer-ownership="none">
-              <doc xml:whitespace="preserve">a #JsonNode containing the serialized property</doc>
-              <type name="Node" c:type="JsonNode*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-    </record>
-    <function name="boxed_can_deserialize"
-              c:identifier="json_boxed_can_deserialize"
-              version="0.10">
-      <doc xml:whitespace="preserve">Checks whether it is possible to deserialize a #GBoxed of
-type @gboxed_type from a #JsonNode of type @node_type</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the type can be deserialized, %FALSE otherwise</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="gboxed_type" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a boxed type</doc>
-          <type name="GType" c:type="GType"/>
-        </parameter>
-        <parameter name="node_type" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #JsonNode type</doc>
-          <type name="NodeType" c:type="JsonNodeType"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="boxed_can_serialize"
-              c:identifier="json_boxed_can_serialize"
-              version="0.10">
-      <doc xml:whitespace="preserve">Checks whether it is possible to serialize a #GBoxed of
-type @gboxed_type into a #JsonNode. The type of the
-#JsonNode is placed inside @node_type if the function
-returns %TRUE and it's undefined otherwise.
-and %FALSE otherwise.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">%TRUE if the type can be serialized,</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="gboxed_type" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a boxed type</doc>
-          <type name="GType" c:type="GType"/>
-        </parameter>
-        <parameter name="node_type"
-                   direction="out"
-                   caller-allocates="1"
-                   transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #JsonNode type to which the boxed type can be serialized into</doc>
-          <type name="NodeType" c:type="JsonNodeType*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="boxed_deserialize"
-              c:identifier="json_boxed_deserialize"
-              version="0.10">
-      <doc xml:whitespace="preserve">Deserializes @node into a #GBoxed of @gboxed_type
-g_boxed_free() to release the resources allocated by this
-function</doc>
-      <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">the newly allocated #GBoxed. Use</doc>
-        <type name="gpointer" c:type="gpointer"/>
-      </return-value>
-      <parameters>
-        <parameter name="gboxed_type" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a boxed type</doc>
-          <type name="GType" c:type="GType"/>
-        </parameter>
-        <parameter name="node" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #JsonNode</doc>
-          <type name="Node" c:type="JsonNode*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="boxed_register_deserialize_func"
-              c:identifier="json_boxed_register_deserialize_func"
-              version="0.10"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Registers a deserialization function for a #GBoxed of type @gboxed_type
-from a #JsonNode of type @node_type</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="gboxed_type" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a boxed type</doc>
-          <type name="GType" c:type="GType"/>
-        </parameter>
-        <parameter name="node_type" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a node type</doc>
-          <type name="NodeType" c:type="JsonNodeType"/>
-        </parameter>
-        <parameter name="deserialize_func" transfer-ownership="none">
-          <doc xml:whitespace="preserve">deserialization function for @boxed_type from a #JsonNode of type @node_type</doc>
-          <type name="BoxedDeserializeFunc" c:type="JsonBoxedDeserializeFunc"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="boxed_register_serialize_func"
-              c:identifier="json_boxed_register_serialize_func"
-              version="0.10"
-              introspectable="0">
-      <doc xml:whitespace="preserve">Registers a serialization function for a #GBoxed of type @gboxed_type
-to a #JsonNode of type @node_type</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="gboxed_type" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a boxed type</doc>
-          <type name="GType" c:type="GType"/>
-        </parameter>
-        <parameter name="node_type" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a node type</doc>
-          <type name="NodeType" c:type="JsonNodeType"/>
-        </parameter>
-        <parameter name="serialize_func" transfer-ownership="none">
-          <doc xml:whitespace="preserve">serialization function for @boxed_type into a #JsonNode of type @node_type</doc>
-          <type name="BoxedSerializeFunc" c:type="JsonBoxedSerializeFunc"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="boxed_serialize"
-              c:identifier="json_boxed_serialize"
-              version="0.10">
-      <doc xml:whitespace="preserve">Serializes @boxed, a pointer to a #GBoxed of type @gboxed_type,
-into a #JsonNode
-boxed type, or %NULL if serialization either failed or was not possible</doc>
-      <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a #JsonNode with the serialization of the</doc>
-        <type name="Node" c:type="JsonNode*"/>
-      </return-value>
-      <parameters>
-        <parameter name="gboxed_type" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a boxed type</doc>
-          <type name="GType" c:type="GType"/>
-        </parameter>
-        <parameter name="boxed" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a pointer to a #GBoxed of type @gboxed_type</doc>
-          <type name="gpointer" c:type="gconstpointer"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="construct_gobject"
-              c:identifier="json_construct_gobject"
-              version="0.4"
-              deprecated="Use json_gobject_from_data() instead"
-              deprecated-version="0.10"
-              throws="1">
-      <doc xml:whitespace="preserve">Deserializes a JSON data stream and creates the corresponding
-#GObject class. If @gtype implements the #JsonSerializableIface
-interface, it will be asked to deserialize all the JSON members
-into the respective properties; otherwise, the default implementation
-will be used to translate the compatible JSON native types.</doc>
-      <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a #GObject or %NULL</doc>
-        <type name="GObject.Object" c:type="GObject*"/>
-      </return-value>
-      <parameters>
-        <parameter name="gtype" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GType of object to construct</doc>
-          <type name="GType" c:type="GType"/>
-        </parameter>
-        <parameter name="data" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a JSON data stream</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </parameter>
-        <parameter name="length" transfer-ownership="none">
-          <doc xml:whitespace="preserve">length of the data stream</doc>
-          <type name="gulong" c:type="gsize"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="gobject_deserialize"
-              c:identifier="json_gobject_deserialize"
-              version="0.10">
-      <doc xml:whitespace="preserve">Creates a new #GObject of type @gtype, and constructs it
-using the members of the passed #JsonObject
-instance. Use g_object_unref() to free the resources
-allocated by this function</doc>
-      <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">The newly created #GObject</doc>
-        <type name="GObject.Object" c:type="GObject*"/>
-      </return-value>
-      <parameters>
-        <parameter name="gtype" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the type of the #GObject to create</doc>
-          <type name="GType" c:type="GType"/>
-        </parameter>
-        <parameter name="node" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #JsonNode of type %JSON_NODE_OBJECT describing the instance of type @gtype</doc>
-          <type name="Node" c:type="JsonNode*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="gobject_from_data"
-              c:identifier="json_gobject_from_data"
-              version="0.10"
-              throws="1">
-      <doc xml:whitespace="preserve">Deserializes a JSON data stream and creates the corresponding
-#GObject class. If @gtype implements the #JsonSerializableIface
-interface, it will be asked to deserialize all the JSON members
-into the respective properties; otherwise, the default implementation
-will be used to translate the compatible JSON native types.</doc>
-      <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a #GObject or %NULL</doc>
-        <type name="GObject.Object" c:type="GObject*"/>
-      </return-value>
-      <parameters>
-        <parameter name="gtype" transfer-ownership="none">
-          <doc xml:whitespace="preserve">the #GType of object to construct</doc>
-          <type name="GType" c:type="GType"/>
-        </parameter>
-        <parameter name="data" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a JSON data stream</doc>
-          <type name="utf8" c:type="gchar*"/>
-        </parameter>
-        <parameter name="length" transfer-ownership="none">
-          <doc xml:whitespace="preserve">length of the data stream, or -1 if it is NUL-terminated</doc>
-          <type name="glong" c:type="gssize"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="gobject_serialize"
-              c:identifier="json_gobject_serialize"
-              version="0.10">
-      <doc xml:whitespace="preserve">Creates a #JsonNode representing the passed #GObject
-instance. Each member of the returned JSON object will
-map to a property of the #GObject
-of type %JSON_NODE_OBJECT. Use json_node_free() to free
-the resources allocated by this function</doc>
-      <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">the newly created #JsonNode</doc>
-        <type name="Node" c:type="JsonNode*"/>
-      </return-value>
-      <parameters>
-        <parameter name="gobject" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GObject</doc>
-          <type name="GObject.Object" c:type="GObject*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="gobject_to_data"
-              c:identifier="json_gobject_to_data"
-              version="0.10">
-      <doc xml:whitespace="preserve">Serializes a #GObject into a JSON data stream, iterating recursively
-over each property.
-If @gobject implements the #JsonSerializableIface interface, it will
-be asked to serialize all its properties; otherwise, the default
-implementation will be use to translate the compatible types into
-JSON native types.</doc>
-      <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a JSON data stream representing the passed #GObject</doc>
-        <type name="utf8" c:type="gchar*"/>
-      </return-value>
-      <parameters>
-        <parameter name="gobject" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GObject</doc>
-          <type name="GObject.Object" c:type="GObject*"/>
-        </parameter>
-        <parameter name="length"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">return value for the length of the buffer, or %NULL</doc>
-          <type name="gulong" c:type="gsize*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="serialize_gobject"
-              c:identifier="json_serialize_gobject"
-              deprecated="Use json_gobject_to_data() instead"
-              deprecated-version="0.10">
-      <doc xml:whitespace="preserve">Serializes a #GObject into a JSON data stream. If @gobject implements
-the #JsonSerializableIface interface, it will be asked to serizalize all
-its properties; otherwise, the default implementation will be use to
-translate the compatible types into JSON native types.</doc>
-      <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a JSON data stream representing the passed #GObject</doc>
-        <type name="utf8" c:type="gchar*"/>
-      </return-value>
-      <parameters>
-        <parameter name="gobject" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a #GObject</doc>
-          <type name="GObject.Object" c:type="GObject*"/>
-        </parameter>
-        <parameter name="length"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">return value for the length of the buffer, or %NULL</doc>
-          <type name="gulong" c:type="gsize*"/>
-        </parameter>
-      </parameters>
-    </function>
-  </namespace>
-</repository>
index 5a9d118f75c9bbede0174f41f3d168774ea41b12..ea562c1f3dcbfe87a588b6f3dbea92845e6b50e0 100644 (file)
@@ -19,5 +19,5 @@ LIBRARY: clutter.json
 } cond
 >>
 
-GIR: vocab:clutter/json/Json-1.0.gir
+GIR: Json-1.0.gir