diff --git a/gir/ClutterAdditions.xml b/gir/ClutterAdditions.xml
index 52f5920..a6b1d60 100644
--- a/gir/ClutterAdditions.xml
+++ b/gir/ClutterAdditions.xml
@@ -2,26 +2,229 @@
 <injections 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">
-  <inject path="namespace/record[@name='Geometry']">
-    <method name="get_x" c:symbol="my_clutter_geomery_get_x">
+  <inject path="namespace">
+    <function name="device_to_units" c:identifier="girepo_clutter_device_to_units">
+      <return-value>
+	<type name="int" c:type="gint"/>
+      </return-value>
+      <parameters>
+	<parameter name="device">
+	  <type name="int" c:type="guint32"/>
+	</parameter>
+      </parameters>
+    </function>
+    <function name="units_to_device" c:identifier="girepo_clutter_device_to_units">
+      <return-value>
+	<type name="int" c:type="guint32"/>
+      </return-value>
+      <parameters>
+	<parameter name="device">
+	  <type name="int" c:type="gint"/>
+	</parameter>
+      </parameters>
+    </function>
+  </inject>
+  <inject path="namespace/record[@name='Color']">
+    <constructor name="new" c:identifier="girepo_clutter_color_new">
+      <return-value>
+	<type name="Color" c:type="ClutterColor*"/>
+      </return-value>
+      <parameters>
+      </parameters>
+    </constructor>
+    <method name="set_components" c:identifier="girepo_clutter_color_set_components">
+      <return-value>
+	<type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+	<parameter name="color">
+	  <type name="Color" c:type="ClutterColor*"/>
+	</parameter>
+	<parameter name="components">
+	  <type name="GList.List" c:type="GList*"/>
+	</parameter>
+      </parameters>
+    </method>
+    <method name="get_components" c:identifier="girepo_clutter_color_get_components">
+      <return-value>
+	<type name="GLib.GList" c:type="GList*"/>
+      </return-value>
+      <parameters>
+	<parameter name="color">
+	  <type name="Color" c:type="ClutterColor*"/>
+	</parameter>
+      </parameters>
+    </method>
+  </inject>
+  <inject path="namespace/class[@name='Texture']">
+    <method name="set_from_pixbuf" c:identifier="girepo_clutter_texture_set_from_pixbuf">
       <return-value>
-	<type name="int" c:type="int"/>
+	<type name="none" c:type="void"/>
       </return-value>
       <parameters>
-	<parameter name="geom">
-	  <type name="Geometry" c:type="ClutterGeometry"/>
+	<parameter name="texture">
+	  <type name="Texture" c:type="ClutterTexture*"/>
+	</parameter>
+	<parameter name="pixbuf">
+	  <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
 	</parameter>
       </parameters>
     </method>
   </inject>
   <inject path="namespace/record[@name='Geometry']">
-    <method name="get_y" c:symbol="my_clutter_geomery_get_y">
+    <constructor name="new" c:identifier="girepo_clutter_geometry_new">
+      <return-value>
+	<type name="Geometry" c:type="ClutterGeometry*"/>
+      </return-value>
+      <parameters>
+      </parameters>
+    </constructor>
+    <method name="get_x" c:identifier="girepo_clutter_geometry_get_x">
       <return-value>
-	<type name="int" c:type="int"/>
+	<type name="int" c:type="gint"/>
       </return-value>
       <parameters>
-	<parameter name="geom">
-	  <type name="Geometry" c:type="ClutterGeometry"/>
+	<parameter name="geometry">
+	  <type name="Geometry" c:type="ClutterGeometry*"/>
+	</parameter>
+      </parameters>
+    </method>
+    <method name="get_y" c:identifier="girepo_clutter_geometry_get_y">
+      <return-value>
+	<type name="int" c:type="gint"/>
+      </return-value>
+      <parameters>
+	<parameter name="geometry">
+	  <type name="Geometry" c:type="ClutterGeometry*"/>
+	</parameter>
+      </parameters>
+    </method>
+    <method name="get_width" c:identifier="girepo_clutter_geometry_get_width">
+      <return-value>
+	<type name="int" c:type="gint"/>
+      </return-value>
+      <parameters>
+	<parameter name="geometry">
+	  <type name="Geometry" c:type="ClutterGeometry*"/>
+	</parameter>
+      </parameters>
+    </method>
+    <method name="get_height" c:identifier="girepo_clutter_geometry_get_height">
+      <return-value>
+	<type name="int" c:type="gint"/>
+      </return-value>
+      <parameters>
+	<parameter name="geometry">
+	  <type name="Geometry" c:type="ClutterGeometry*"/>
+	</parameter>
+      </parameters>
+    </method>
+    <method name="get_components" c:identifier="girepo_clutter_color_get_components">
+      <return-value>
+	<type name="GLib.GList" c:type="GList*"/>
+      </return-value>
+      <parameters>
+	<parameter name="color">
+	  <type name="Color" c:type="ClutterColor*"/>
+	</parameter>
+      </parameters>
+    </method>
+  </inject>
+  <inject path="namespace/record[@name='ActorBox']">
+    <constructor name="new" c:identifier="girepo_clutter_actor_box_new">
+      <return-value>
+	<type name="ActorBox" c:type="ClutterActorBox*"/>
+      </return-value>
+      <parameters>
+      </parameters>
+    </constructor>
+    <method name="get_x1" c:identifier="girepo_clutter_actor_box_get_x1">
+      <return-value>
+	<type name="int" c:type="gint"/>
+      </return-value>
+      <parameters>
+	<parameter name="actor_box">
+	  <type name="ActorBox" c:type="ClutterActorBox*"/>
+	</parameter>
+      </parameters>
+    </method>
+    <method name="get_y1" c:identifier="girepo_clutter_actor_box_get_y1">
+      <return-value>
+	<type name="int" c:type="gint"/>
+      </return-value>
+      <parameters>
+	<parameter name="actor_box">
+	  <type name="ActorBox" c:type="ClutterActorBox*"/>
+	</parameter>
+      </parameters>
+    </method>
+    <method name="get_x2" c:identifier="girepo_clutter_actor_box_get_x2">
+      <return-value>
+	<type name="int" c:type="gint"/>
+      </return-value>
+      <parameters>
+	<parameter name="actor_box">
+	  <type name="ActorBox" c:type="ClutterActorBox*"/>
+	</parameter>
+      </parameters>
+    </method>
+    <method name="get_y2" c:identifier="girepo_clutter_actor_box_get_y2">
+      <return-value>
+	<type name="int" c:type="gint"/>
+      </return-value>
+      <parameters>
+	<parameter name="actor_box">
+	  <type name="ActorBox" c:type="ClutterActorBox*"/>
+	</parameter>
+      </parameters>
+    </method>
+  </inject>
+  <inject path="namespace/union[@name='Event']">
+    <method name="get_x" c:identifier="girepo_clutter_event_get_x">
+      <return-value>
+	<type name="int" c:type="gint"/>
+      </return-value>
+      <parameters>
+	<parameter name="event">
+	  <type name="Event" c:type="ClutterEvent*"/>
+	</parameter>
+      </parameters>
+    </method>
+    <method name="get_y" c:identifier="girepo_clutter_actor_box_get_y">
+      <return-value>
+	<type name="int" c:type="gint"/>
+      </return-value>
+      <parameters>
+	<parameter name="event">
+	  <type name="Event" c:type="ClutterEvent*"/>
+	</parameter>
+      </parameters>
+    </method>
+  </inject>
+  <inject path="namespace/record[@name='Vertex']">
+    <constructor name="new" c:identifier="girepo_clutter_vertex_new">
+      <return-value>
+	<type name="Vertex" c:type="ClutterVertex*"/>
+      </return-value>
+      <parameters>
+      </parameters>
+    </constructor>
+    <method name="set_values" c:identifier="girepo_clutter_vertex_set_values">
+      <return-value>
+	<type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+	<parameter name="vertex">
+	  <type name="Vertex" c:type="ClutterVertex*"/>
+	</parameter>
+	<parameter name="x">
+	  <type name="int" c:type="gint"/>
+	</parameter>
+	<parameter name="y">
+	  <type name="int" c:type="gint"/>
+	</parameter>
+	<parameter name="z">
+	  <type name="int" c:type="gint"/>
 	</parameter>
       </parameters>
     </method>
diff --git a/gir/Makefile.am b/gir/Makefile.am
index 8456f56..aa04ea0 100644
--- a/gir/Makefile.am
+++ b/gir/Makefile.am
@@ -360,7 +360,7 @@ ClutterJson.gir: $(G_IR_SCANNER)
 	     -I$(CLUTTER_INCLUDEDIR) \
              $(CLUTTER_INCLUDEDIR)/clutter-0.8/clutter/json/*.h
 
-Clutter.gir: libgirepo-Clutter-custom.la ClutterJson.gir GdkPixbuf.gir Pango.gir PangoCairo.gir $(G_IR_SCANNER)
+Clutter.gir: libgirepo-Clutter-custom.la ClutterJson.gir ClutterAdditions.xml GdkPixbuf.gir Pango.gir PangoCairo.gir $(G_IR_SCANNER)
 	$(G_IR_SCANNER) -v --namespace Clutter \
 	     --strip-prefix=girepo \
              --include=$(srcdir)/GL.gir \
@@ -378,8 +378,8 @@ Clutter.gir: libgirepo-Clutter-custom.la ClutterJson.gir GdkPixbuf.gir Pango.gir
              --output $@ \
 	     -I$(CLUTTER_INCLUDEDIR) \
              $(CLUTTER_INCLUDEDIR)/clutter-0.8/cogl/*.h \
-	     $(CLUTTER_INCLUDEDIR)/clutter-0.8/clutter/*.h \
-	     $(builddir)/Clutter-custom.h
+	     $(CLUTTER_INCLUDEDIR)/clutter-0.8/clutter/*.h
+	$(G_IR_SCANNER) --inject $@ ClutterAdditions.xml $@
 BUILT_GIRSOURCES += Clutter.gir ClutterJson.gir
 endif BUILD_CLUTTER
 
