gir-repository r28 - in trunk: . gir



Author: johan
Date: Sat Aug 16 15:41:34 2008
New Revision: 28
URL: http://svn.gnome.org/viewvc/gir-repository?rev=28&view=rev

Log:
2008-08-16  Johan Dahlin  <johan gnome org>

    * gir/Makefile.am:
    * gir/cairo.gir:
    * gir/freetype2.gir:
    * gir/pangox.gir:
    * gir/xlib.gir:
    Do not generate cairo.gir, hard code it instead.
    Add stub for xlib and freetype2, just enough to cover
    what pango needs.



Added:
   trunk/gir/freetype2.gir
   trunk/gir/xlib.gir
Modified:
   trunk/ChangeLog
   trunk/gir/Makefile.am
   trunk/gir/cairo.gir
   trunk/gir/pangocairo.gir
   trunk/gir/pangox.gir

Modified: trunk/gir/Makefile.am
==============================================================================
--- trunk/gir/Makefile.am	(original)
+++ trunk/gir/Makefile.am	Sat Aug 16 15:41:34 2008
@@ -1,18 +1,22 @@
 GIRSOURCES =
 
-# cairo
-FT_INCLUDEDIR=`pkg-config --variable=includedir freetype2`/freetype2
-CAIRO_INCLUDEDIR=`pkg-config --variable=includedir cairo`/cairo
-CAIRO_LIBDIR=`pkg-config --variable=libdir cairo`
-cairo.gir:
-	$(G_IR_SCANNER) -v --namespace Cairo \
-	    --output $@ \
-	    -I$(CAIRO_INCLUDEDIR) \
-	    -I$(FT_INCLUDEDIR) \
-	    $(CAIRO_INCLUDEDIR)/*.h
-GIRSOURCES += cairo.gir
-
 # pango
+PANGOFT2_LIBDIR=`pkg-config --variable=libdir pangoft2`
+pangoft2.gir:
+	$(G_IR_SCANNER) -v --namespace PangoFT2 \
+            --include=$(GIRDIR)/glib-2.0.gir \
+            --include=$(GIRDIR)/gobject-2.0.gir \
+            --include=$(srcdir)/freetype2.gir \
+            --library=$(PANGOFT2_LIBDIR)/libpangoft2-1.0.so.0 \
+            --output $@ \
+            --pkg gobject-2.0 \
+            --pkg freetype2 \
+            --pkg pangoft2 \
+            -I$(PANGO_INCLUDEDIR) \
+            $(PANGO_INCLUDEDIR)/pango/pangoft2.h \
+            $(PANGO_INCLUDEDIR)/pango/pangofc-*.h
+GIRSOURCES += pangoft2.gir
+
 PANGO_INCLUDEDIR=`pkg-config --variable=includedir pango`/pango-1.0
 PANGO_LIBDIR=`pkg-config --variable=libdir pango`
 pango.gir: pangoft2.gir
@@ -46,21 +50,6 @@
             $(PANGO_INCLUDEDIR)/pango/pangocairo.h
 GIRSOURCES += pangocairo.gir
 
-PANGOFT2_LIBDIR=`pkg-config --variable=libdir pangoft2`
-pangoft2.gir:
-	$(G_IR_SCANNER) -v --namespace PangoFT2 \
-            --include=$(GIRDIR)/glib-2.0.gir \
-            --include=$(GIRDIR)/gobject-2.0.gir \
-            --library=$(PANGOFT2_LIBDIR)/libpangoft2-1.0.so.0 \
-            --output $@ \
-            --pkg gobject-2.0 \
-            --pkg freetype2 \
-            --pkg pangoft2 \
-            -I$(PANGO_INCLUDEDIR) \
-            $(PANGO_INCLUDEDIR)/pango/pangoft2.h \
-            $(PANGO_INCLUDEDIR)/pango/pangofc-*.h
-GIRSOURCES += pangoft2.gir
-
 PANGOXFT_LIBDIR=`pkg-config --variable=libdir pangoxft`
 pangoxft.gir: pango.gir
 	$(G_IR_SCANNER) -v --namespace PangoXft \
@@ -82,6 +71,7 @@
 	$(G_IR_SCANNER) -v --namespace PangoX \
             --include=$(GIRDIR)/glib-2.0.gir \
             --include=$(GIRDIR)/gobject-2.0.gir \
+            --include=$(srcdir)/xlib.gir \
             --include=$(srcdir)/pango.gir \
             --library=$(PANGOX_LIBDIR)/libpangox-1.0.so.0 \
             --output $@ \
@@ -117,7 +107,7 @@
 	     --library=$(GDKPIXBUF_LIBDIR)/libgdk_pixbuf-2.0.so.0 \
              --output $@ \
              --pkg gobject-2.0 \
-             $(GDK_INCLUDEDIR)/gdk-pixbuf/*.h
+             $(GDKPIXBUF_INCLUDEDIR)/gdk-pixbuf/*.h
 GIRSOURCES += gdk-pixbuf-2.0.gir
 
 GDK_INCLUDEDIR=`pkg-config --variable=includedir gdk-2.0`/gtk-2.0

Modified: trunk/gir/cairo.gir
==============================================================================
--- trunk/gir/cairo.gir	(original)
+++ trunk/gir/cairo.gir	Sat Aug 16 15:41:34 2008
@@ -1,3671 +1,10 @@
 <repository version="1.0"
             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";>
-  <namespace name="Cairo">
-    <alias name="cairo_bool_t" target="int"/>
-    <alias name="cairo_path_data_t" target="_cairo_path_data_t"/>
-    <function name="version" c:identifier="cairo_version">
-      <return-value>
-        <type name="int32" c:type="int"/>
-      </return-value>
-    </function>
-    <function name="version_string" c:identifier="cairo_version_string">
-      <return-value>
-        <type name="string" c:type="char*"/>
-      </return-value>
-    </function>
+            xmlns:c="http://www.gtk.org/introspection/c/1.0";>
+  <namespace name="cairo">
     <record name="cairo_t" c:type="cairo_t"/>
-    <record name="cairo_surface_t" c:type="cairo_surface_t"/>
-    <record name="cairo_matrix" c:type="_cairo_matrix">
-      <field name="xx">
-        <type name="double" c:type="double"/>
-      </field>
-      <field name="yx">
-        <type name="double" c:type="double"/>
-      </field>
-      <field name="xy">
-        <type name="double" c:type="double"/>
-      </field>
-      <field name="yy">
-        <type name="double" c:type="double"/>
-      </field>
-      <field name="x0">
-        <type name="double" c:type="double"/>
-      </field>
-      <field name="y0">
-        <type name="double" c:type="double"/>
-      </field>
-    </record>
-    <record name="cairo_matrix_t" c:type="cairo_matrix_t"/>
-    <record name="cairo_pattern_t" c:type="cairo_pattern_t"/>
-    <callback name="cairo_destroy_func_t">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="data">
-          <type name="any" c:type="void*"/>
-        </parameter>
-      </parameters>
-    </callback>
-    <record name="cairo_user_data_key" c:type="_cairo_user_data_key">
-      <field name="unused">
-        <type name="int32" c:type="int"/>
-      </field>
-    </record>
-    <record name="cairo_user_data_key_t" c:type="cairo_user_data_key_t"/>
-    <callback name="cairo_write_func_t">
-      <return-value>
-        <type name="cairo_status_t" c:type="cairo_status_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="closure">
-          <type name="any" c:type="void*"/>
-        </parameter>
-        <parameter name="data">
-          <type name="unsigned" c:type="unsigned*"/>
-        </parameter>
-        <parameter name="length">
-          <type name="unsigned" c:type="unsigned"/>
-        </parameter>
-      </parameters>
-    </callback>
-    <callback name="cairo_read_func_t">
-      <return-value>
-        <type name="cairo_status_t" c:type="cairo_status_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="closure">
-          <type name="any" c:type="void*"/>
-        </parameter>
-        <parameter name="data">
-          <type name="unsigned" c:type="unsigned*"/>
-        </parameter>
-        <parameter name="length">
-          <type name="unsigned" c:type="unsigned"/>
-        </parameter>
-      </parameters>
-    </callback>
-    <function name="create" c:identifier="cairo_create">
-      <return-value>
-        <type name="cairo_t" c:type="cairo_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="target">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="reference" c:identifier="cairo_reference">
-      <return-value>
-        <type name="cairo_t" c:type="cairo_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="destroy" c:identifier="cairo_destroy">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_reference_count"
-              c:identifier="cairo_get_reference_count">
-      <return-value>
-        <type name="unsigned" c:type="unsigned"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_user_data" c:identifier="cairo_get_user_data">
-      <return-value>
-        <type name="any" c:type="void*"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="key">
-          <type name="cairo_user_data_key_t" c:type="cairo_user_data_key_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_user_data" c:identifier="cairo_set_user_data">
-      <return-value>
-        <type name="cairo_status_t" c:type="cairo_status_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="key">
-          <type name="cairo_user_data_key_t" c:type="cairo_user_data_key_t*"/>
-        </parameter>
-        <parameter name="user_data">
-          <type name="any" c:type="void*"/>
-        </parameter>
-        <parameter name="destroy">
-          <type name="cairo_destroy_func_t" c:type="cairo_destroy_func_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="save" c:identifier="cairo_save">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="restore" c:identifier="cairo_restore">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="push_group" c:identifier="cairo_push_group">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="push_group_with_content"
-              c:identifier="cairo_push_group_with_content">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="content">
-          <type name="cairo_content_t" c:type="cairo_content_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pop_group" c:identifier="cairo_pop_group">
-      <return-value>
-        <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pop_group_to_source"
-              c:identifier="cairo_pop_group_to_source">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_operator" c:identifier="cairo_set_operator">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="op">
-          <type name="cairo_operator_t" c:type="cairo_operator_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_source" c:identifier="cairo_set_source">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="source">
-          <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_source_rgb" c:identifier="cairo_set_source_rgb">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="red">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="green">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="blue">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_source_rgba" c:identifier="cairo_set_source_rgba">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="red">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="green">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="blue">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="alpha">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_source_surface"
-              c:identifier="cairo_set_source_surface">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-        <parameter name="x">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="y">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_tolerance" c:identifier="cairo_set_tolerance">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="tolerance">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_antialias" c:identifier="cairo_set_antialias">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="antialias">
-          <type name="cairo_antialias_t" c:type="cairo_antialias_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_fill_rule" c:identifier="cairo_set_fill_rule">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="fill_rule">
-          <type name="cairo_fill_rule_t" c:type="cairo_fill_rule_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_line_width" c:identifier="cairo_set_line_width">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="width">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_line_cap" c:identifier="cairo_set_line_cap">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="line_cap">
-          <type name="cairo_line_cap_t" c:type="cairo_line_cap_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_line_join" c:identifier="cairo_set_line_join">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="line_join">
-          <type name="cairo_line_join_t" c:type="cairo_line_join_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_dash" c:identifier="cairo_set_dash">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="dashes">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="num_dashes">
-          <type name="int32" c:type="int"/>
-        </parameter>
-        <parameter name="offset">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_miter_limit" c:identifier="cairo_set_miter_limit">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="limit">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="translate" c:identifier="cairo_translate">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="tx">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="ty">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="scale" c:identifier="cairo_scale">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="sx">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="sy">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="rotate" c:identifier="cairo_rotate">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="angle">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="transform" c:identifier="cairo_transform">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="matrix">
-          <type name="cairo_matrix_t" c:type="cairo_matrix_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_matrix" c:identifier="cairo_set_matrix">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="matrix">
-          <type name="cairo_matrix_t" c:type="cairo_matrix_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="identity_matrix" c:identifier="cairo_identity_matrix">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="user_to_device" c:identifier="cairo_user_to_device">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="x">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="y">
-          <type name="double" c:type="double*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="user_to_device_distance"
-              c:identifier="cairo_user_to_device_distance">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="dx">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="dy">
-          <type name="double" c:type="double*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="device_to_user" c:identifier="cairo_device_to_user">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="x">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="y">
-          <type name="double" c:type="double*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="device_to_user_distance"
-              c:identifier="cairo_device_to_user_distance">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="dx">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="dy">
-          <type name="double" c:type="double*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="new_path" c:identifier="cairo_new_path">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="move_to" c:identifier="cairo_move_to">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="x">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="y">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="new_sub_path" c:identifier="cairo_new_sub_path">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="line_to" c:identifier="cairo_line_to">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="x">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="y">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="curve_to" c:identifier="cairo_curve_to">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="x1">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="y1">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="x2">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="y2">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="x3">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="y3">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="arc" c:identifier="cairo_arc">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="xc">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="yc">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="radius">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="angle1">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="angle2">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="arc_negative" c:identifier="cairo_arc_negative">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="xc">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="yc">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="radius">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="angle1">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="angle2">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="rel_move_to" c:identifier="cairo_rel_move_to">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="dx">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="dy">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="rel_line_to" c:identifier="cairo_rel_line_to">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="dx">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="dy">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="rel_curve_to" c:identifier="cairo_rel_curve_to">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="dx1">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="dy1">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="dx2">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="dy2">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="dx3">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="dy3">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="rectangle" c:identifier="cairo_rectangle">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="x">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="y">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="width">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="height">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="close_path" c:identifier="cairo_close_path">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="path_extents" c:identifier="cairo_path_extents">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="x1">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="y1">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="x2">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="y2">
-          <type name="double" c:type="double*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="paint" c:identifier="cairo_paint">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="paint_with_alpha" c:identifier="cairo_paint_with_alpha">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="alpha">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="mask" c:identifier="cairo_mask">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="pattern">
-          <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="mask_surface" c:identifier="cairo_mask_surface">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-        <parameter name="surface_x">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="surface_y">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="stroke" c:identifier="cairo_stroke">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="stroke_preserve" c:identifier="cairo_stroke_preserve">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="fill" c:identifier="cairo_fill">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="fill_preserve" c:identifier="cairo_fill_preserve">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="copy_page" c:identifier="cairo_copy_page">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="show_page" c:identifier="cairo_show_page">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="in_stroke" c:identifier="cairo_in_stroke">
-      <return-value>
-        <type name="cairo_bool_t" c:type="cairo_bool_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="x">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="y">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="in_fill" c:identifier="cairo_in_fill">
-      <return-value>
-        <type name="cairo_bool_t" c:type="cairo_bool_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="x">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="y">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="stroke_extents" c:identifier="cairo_stroke_extents">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="x1">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="y1">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="x2">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="y2">
-          <type name="double" c:type="double*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="fill_extents" c:identifier="cairo_fill_extents">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="x1">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="y1">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="x2">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="y2">
-          <type name="double" c:type="double*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="reset_clip" c:identifier="cairo_reset_clip">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="clip" c:identifier="cairo_clip">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="clip_preserve" c:identifier="cairo_clip_preserve">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="clip_extents" c:identifier="cairo_clip_extents">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="x1">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="y1">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="x2">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="y2">
-          <type name="double" c:type="double*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <record name="cairo_rectangle" c:type="_cairo_rectangle">
-      <field name="x">
-        <type name="double" c:type="double"/>
-      </field>
-      <field name="y">
-        <type name="double" c:type="double"/>
-      </field>
-      <field name="width">
-        <type name="double" c:type="double"/>
-      </field>
-      <field name="height">
-        <type name="double" c:type="double"/>
-      </field>
-    </record>
-    <record name="cairo_rectangle_t" c:type="cairo_rectangle_t"/>
-    <record name="cairo_rectangle_list" c:type="_cairo_rectangle_list">
-      <field name="status">
-        <type name="cairo_status_t" c:type="cairo_status_t"/>
-      </field>
-      <field name="rectangles">
-        <type name="cairo_rectangle_t" c:type="cairo_rectangle_t*"/>
-      </field>
-      <field name="num_rectangles">
-        <type name="int32" c:type="int"/>
-      </field>
-    </record>
-    <record name="cairo_rectangle_list_t" c:type="cairo_rectangle_list_t"/>
-    <function name="copy_clip_rectangle_list"
-              c:identifier="cairo_copy_clip_rectangle_list">
-      <return-value>
-        <type name="cairo_rectangle_list_t" c:type="cairo_rectangle_list_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="rectangle_list_destroy"
-              c:identifier="cairo_rectangle_list_destroy">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="rectangle_list">
-          <type name="cairo_rectangle_list_t"
-                c:type="cairo_rectangle_list_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <record name="cairo_scaled_font_t" c:type="cairo_scaled_font_t"/>
-    <record name="cairo_font_face_t" c:type="cairo_font_face_t"/>
-    <record name="cairo_glyph_t" c:type="cairo_glyph_t"/>
-    <record name="cairo_text_extents_t" c:type="cairo_text_extents_t"/>
-    <record name="cairo_font_extents_t" c:type="cairo_font_extents_t"/>
     <record name="cairo_font_options_t" c:type="cairo_font_options_t"/>
-    <function name="font_options_create"
-              c:identifier="cairo_font_options_create">
-      <return-value>
-        <type name="cairo_font_options_t" c:type="cairo_font_options_t*"/>
-      </return-value>
-    </function>
-    <function name="font_options_copy" c:identifier="cairo_font_options_copy">
-      <return-value>
-        <type name="cairo_font_options_t" c:type="cairo_font_options_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="original">
-          <type name="cairo_font_options_t" c:type="cairo_font_options_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="font_options_destroy"
-              c:identifier="cairo_font_options_destroy">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="options">
-          <type name="cairo_font_options_t" c:type="cairo_font_options_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="font_options_status"
-              c:identifier="cairo_font_options_status">
-      <return-value>
-        <type name="cairo_status_t" c:type="cairo_status_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="options">
-          <type name="cairo_font_options_t" c:type="cairo_font_options_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="font_options_merge"
-              c:identifier="cairo_font_options_merge">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="options">
-          <type name="cairo_font_options_t" c:type="cairo_font_options_t*"/>
-        </parameter>
-        <parameter name="other">
-          <type name="cairo_font_options_t" c:type="cairo_font_options_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="font_options_equal"
-              c:identifier="cairo_font_options_equal">
-      <return-value>
-        <type name="cairo_bool_t" c:type="cairo_bool_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="options">
-          <type name="cairo_font_options_t" c:type="cairo_font_options_t*"/>
-        </parameter>
-        <parameter name="other">
-          <type name="cairo_font_options_t" c:type="cairo_font_options_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="font_options_hash" c:identifier="cairo_font_options_hash">
-      <return-value>
-        <type name="unsigned" c:type="unsigned"/>
-      </return-value>
-      <parameters>
-        <parameter name="options">
-          <type name="cairo_font_options_t" c:type="cairo_font_options_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="font_options_set_antialias"
-              c:identifier="cairo_font_options_set_antialias">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="options">
-          <type name="cairo_font_options_t" c:type="cairo_font_options_t*"/>
-        </parameter>
-        <parameter name="antialias">
-          <type name="cairo_antialias_t" c:type="cairo_antialias_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="font_options_get_antialias"
-              c:identifier="cairo_font_options_get_antialias">
-      <return-value>
-        <type name="cairo_antialias_t" c:type="cairo_antialias_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="options">
-          <type name="cairo_font_options_t" c:type="cairo_font_options_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="font_options_set_subpixel_order"
-              c:identifier="cairo_font_options_set_subpixel_order">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="options">
-          <type name="cairo_font_options_t" c:type="cairo_font_options_t*"/>
-        </parameter>
-        <parameter name="subpixel_order">
-          <type name="cairo_subpixel_order_t" c:type="cairo_subpixel_order_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="font_options_get_subpixel_order"
-              c:identifier="cairo_font_options_get_subpixel_order">
-      <return-value>
-        <type name="cairo_subpixel_order_t" c:type="cairo_subpixel_order_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="options">
-          <type name="cairo_font_options_t" c:type="cairo_font_options_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="font_options_set_hint_style"
-              c:identifier="cairo_font_options_set_hint_style">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="options">
-          <type name="cairo_font_options_t" c:type="cairo_font_options_t*"/>
-        </parameter>
-        <parameter name="hint_style">
-          <type name="cairo_hint_style_t" c:type="cairo_hint_style_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="font_options_get_hint_style"
-              c:identifier="cairo_font_options_get_hint_style">
-      <return-value>
-        <type name="cairo_hint_style_t" c:type="cairo_hint_style_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="options">
-          <type name="cairo_font_options_t" c:type="cairo_font_options_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="font_options_set_hint_metrics"
-              c:identifier="cairo_font_options_set_hint_metrics">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="options">
-          <type name="cairo_font_options_t" c:type="cairo_font_options_t*"/>
-        </parameter>
-        <parameter name="hint_metrics">
-          <type name="cairo_hint_metrics_t" c:type="cairo_hint_metrics_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="font_options_get_hint_metrics"
-              c:identifier="cairo_font_options_get_hint_metrics">
-      <return-value>
-        <type name="cairo_hint_metrics_t" c:type="cairo_hint_metrics_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="options">
-          <type name="cairo_font_options_t" c:type="cairo_font_options_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="select_font_face" c:identifier="cairo_select_font_face">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="family">
-          <type name="string" c:type="char*"/>
-        </parameter>
-        <parameter name="slant">
-          <type name="cairo_font_slant_t" c:type="cairo_font_slant_t"/>
-        </parameter>
-        <parameter name="weight">
-          <type name="cairo_font_weight_t" c:type="cairo_font_weight_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_font_size" c:identifier="cairo_set_font_size">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="size">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_font_matrix" c:identifier="cairo_set_font_matrix">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="matrix">
-          <type name="cairo_matrix_t" c:type="cairo_matrix_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_font_matrix" c:identifier="cairo_get_font_matrix">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="matrix">
-          <type name="cairo_matrix_t" c:type="cairo_matrix_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_font_options" c:identifier="cairo_set_font_options">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="options">
-          <type name="cairo_font_options_t" c:type="cairo_font_options_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_font_options" c:identifier="cairo_get_font_options">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="options">
-          <type name="cairo_font_options_t" c:type="cairo_font_options_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_font_face" c:identifier="cairo_set_font_face">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="font_face">
-          <type name="cairo_font_face_t" c:type="cairo_font_face_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_font_face" c:identifier="cairo_get_font_face">
-      <return-value>
-        <type name="cairo_font_face_t" c:type="cairo_font_face_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="set_scaled_font" c:identifier="cairo_set_scaled_font">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="scaled_font">
-          <type name="cairo_scaled_font_t" c:type="cairo_scaled_font_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_scaled_font" c:identifier="cairo_get_scaled_font">
-      <return-value>
-        <type name="cairo_scaled_font_t" c:type="cairo_scaled_font_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="show_text" c:identifier="cairo_show_text">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="utf8">
-          <type name="string" c:type="char*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="show_glyphs" c:identifier="cairo_show_glyphs">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="glyphs">
-          <type name="cairo_glyph_t" c:type="cairo_glyph_t*"/>
-        </parameter>
-        <parameter name="num_glyphs">
-          <type name="int32" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="text_path" c:identifier="cairo_text_path">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="utf8">
-          <type name="string" c:type="char*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="glyph_path" c:identifier="cairo_glyph_path">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="glyphs">
-          <type name="cairo_glyph_t" c:type="cairo_glyph_t*"/>
-        </parameter>
-        <parameter name="num_glyphs">
-          <type name="int32" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="text_extents" c:identifier="cairo_text_extents">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="utf8">
-          <type name="string" c:type="char*"/>
-        </parameter>
-        <parameter name="extents">
-          <type name="cairo_text_extents_t" c:type="cairo_text_extents_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="glyph_extents" c:identifier="cairo_glyph_extents">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="glyphs">
-          <type name="cairo_glyph_t" c:type="cairo_glyph_t*"/>
-        </parameter>
-        <parameter name="num_glyphs">
-          <type name="int32" c:type="int"/>
-        </parameter>
-        <parameter name="extents">
-          <type name="cairo_text_extents_t" c:type="cairo_text_extents_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="font_extents" c:identifier="cairo_font_extents">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="extents">
-          <type name="cairo_font_extents_t" c:type="cairo_font_extents_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="font_face_reference"
-              c:identifier="cairo_font_face_reference">
-      <return-value>
-        <type name="cairo_font_face_t" c:type="cairo_font_face_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="font_face">
-          <type name="cairo_font_face_t" c:type="cairo_font_face_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="font_face_destroy" c:identifier="cairo_font_face_destroy">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="font_face">
-          <type name="cairo_font_face_t" c:type="cairo_font_face_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="font_face_get_reference_count"
-              c:identifier="cairo_font_face_get_reference_count">
-      <return-value>
-        <type name="unsigned" c:type="unsigned"/>
-      </return-value>
-      <parameters>
-        <parameter name="font_face">
-          <type name="cairo_font_face_t" c:type="cairo_font_face_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="font_face_status" c:identifier="cairo_font_face_status">
-      <return-value>
-        <type name="cairo_status_t" c:type="cairo_status_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="font_face">
-          <type name="cairo_font_face_t" c:type="cairo_font_face_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="font_face_get_type"
-              c:identifier="cairo_font_face_get_type">
-      <return-value>
-        <type name="cairo_font_type_t" c:type="cairo_font_type_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="font_face">
-          <type name="cairo_font_face_t" c:type="cairo_font_face_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="font_face_get_user_data"
-              c:identifier="cairo_font_face_get_user_data">
-      <return-value>
-        <type name="any" c:type="void*"/>
-      </return-value>
-      <parameters>
-        <parameter name="font_face">
-          <type name="cairo_font_face_t" c:type="cairo_font_face_t*"/>
-        </parameter>
-        <parameter name="key">
-          <type name="cairo_user_data_key_t" c:type="cairo_user_data_key_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="font_face_set_user_data"
-              c:identifier="cairo_font_face_set_user_data">
-      <return-value>
-        <type name="cairo_status_t" c:type="cairo_status_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="font_face">
-          <type name="cairo_font_face_t" c:type="cairo_font_face_t*"/>
-        </parameter>
-        <parameter name="key">
-          <type name="cairo_user_data_key_t" c:type="cairo_user_data_key_t*"/>
-        </parameter>
-        <parameter name="user_data">
-          <type name="any" c:type="void*"/>
-        </parameter>
-        <parameter name="destroy">
-          <type name="cairo_destroy_func_t" c:type="cairo_destroy_func_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="scaled_font_create"
-              c:identifier="cairo_scaled_font_create">
-      <return-value>
-        <type name="cairo_scaled_font_t" c:type="cairo_scaled_font_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="font_face">
-          <type name="cairo_font_face_t" c:type="cairo_font_face_t*"/>
-        </parameter>
-        <parameter name="font_matrix">
-          <type name="cairo_matrix_t" c:type="cairo_matrix_t*"/>
-        </parameter>
-        <parameter name="ctm">
-          <type name="cairo_matrix_t" c:type="cairo_matrix_t*"/>
-        </parameter>
-        <parameter name="options">
-          <type name="cairo_font_options_t" c:type="cairo_font_options_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="scaled_font_reference"
-              c:identifier="cairo_scaled_font_reference">
-      <return-value>
-        <type name="cairo_scaled_font_t" c:type="cairo_scaled_font_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="scaled_font">
-          <type name="cairo_scaled_font_t" c:type="cairo_scaled_font_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="scaled_font_destroy"
-              c:identifier="cairo_scaled_font_destroy">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="scaled_font">
-          <type name="cairo_scaled_font_t" c:type="cairo_scaled_font_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="scaled_font_get_reference_count"
-              c:identifier="cairo_scaled_font_get_reference_count">
-      <return-value>
-        <type name="unsigned" c:type="unsigned"/>
-      </return-value>
-      <parameters>
-        <parameter name="scaled_font">
-          <type name="cairo_scaled_font_t" c:type="cairo_scaled_font_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="scaled_font_status"
-              c:identifier="cairo_scaled_font_status">
-      <return-value>
-        <type name="cairo_status_t" c:type="cairo_status_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="scaled_font">
-          <type name="cairo_scaled_font_t" c:type="cairo_scaled_font_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="scaled_font_get_type"
-              c:identifier="cairo_scaled_font_get_type">
-      <return-value>
-        <type name="cairo_font_type_t" c:type="cairo_font_type_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="scaled_font">
-          <type name="cairo_scaled_font_t" c:type="cairo_scaled_font_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="scaled_font_get_user_data"
-              c:identifier="cairo_scaled_font_get_user_data">
-      <return-value>
-        <type name="any" c:type="void*"/>
-      </return-value>
-      <parameters>
-        <parameter name="scaled_font">
-          <type name="cairo_scaled_font_t" c:type="cairo_scaled_font_t*"/>
-        </parameter>
-        <parameter name="key">
-          <type name="cairo_user_data_key_t" c:type="cairo_user_data_key_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="scaled_font_set_user_data"
-              c:identifier="cairo_scaled_font_set_user_data">
-      <return-value>
-        <type name="cairo_status_t" c:type="cairo_status_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="scaled_font">
-          <type name="cairo_scaled_font_t" c:type="cairo_scaled_font_t*"/>
-        </parameter>
-        <parameter name="key">
-          <type name="cairo_user_data_key_t" c:type="cairo_user_data_key_t*"/>
-        </parameter>
-        <parameter name="user_data">
-          <type name="any" c:type="void*"/>
-        </parameter>
-        <parameter name="destroy">
-          <type name="cairo_destroy_func_t" c:type="cairo_destroy_func_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="scaled_font_extents"
-              c:identifier="cairo_scaled_font_extents">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="scaled_font">
-          <type name="cairo_scaled_font_t" c:type="cairo_scaled_font_t*"/>
-        </parameter>
-        <parameter name="extents">
-          <type name="cairo_font_extents_t" c:type="cairo_font_extents_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="scaled_font_text_extents"
-              c:identifier="cairo_scaled_font_text_extents">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="scaled_font">
-          <type name="cairo_scaled_font_t" c:type="cairo_scaled_font_t*"/>
-        </parameter>
-        <parameter name="utf8">
-          <type name="string" c:type="char*"/>
-        </parameter>
-        <parameter name="extents">
-          <type name="cairo_text_extents_t" c:type="cairo_text_extents_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="scaled_font_glyph_extents"
-              c:identifier="cairo_scaled_font_glyph_extents">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="scaled_font">
-          <type name="cairo_scaled_font_t" c:type="cairo_scaled_font_t*"/>
-        </parameter>
-        <parameter name="glyphs">
-          <type name="cairo_glyph_t" c:type="cairo_glyph_t*"/>
-        </parameter>
-        <parameter name="num_glyphs">
-          <type name="int32" c:type="int"/>
-        </parameter>
-        <parameter name="extents">
-          <type name="cairo_text_extents_t" c:type="cairo_text_extents_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="scaled_font_get_font_face"
-              c:identifier="cairo_scaled_font_get_font_face">
-      <return-value>
-        <type name="cairo_font_face_t" c:type="cairo_font_face_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="scaled_font">
-          <type name="cairo_scaled_font_t" c:type="cairo_scaled_font_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="scaled_font_get_font_matrix"
-              c:identifier="cairo_scaled_font_get_font_matrix">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="scaled_font">
-          <type name="cairo_scaled_font_t" c:type="cairo_scaled_font_t*"/>
-        </parameter>
-        <parameter name="font_matrix">
-          <type name="cairo_matrix_t" c:type="cairo_matrix_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="scaled_font_get_ctm"
-              c:identifier="cairo_scaled_font_get_ctm">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="scaled_font">
-          <type name="cairo_scaled_font_t" c:type="cairo_scaled_font_t*"/>
-        </parameter>
-        <parameter name="ctm">
-          <type name="cairo_matrix_t" c:type="cairo_matrix_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="scaled_font_get_font_options"
-              c:identifier="cairo_scaled_font_get_font_options">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="scaled_font">
-          <type name="cairo_scaled_font_t" c:type="cairo_scaled_font_t*"/>
-        </parameter>
-        <parameter name="options">
-          <type name="cairo_font_options_t" c:type="cairo_font_options_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_operator" c:identifier="cairo_get_operator">
-      <return-value>
-        <type name="cairo_operator_t" c:type="cairo_operator_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_source" c:identifier="cairo_get_source">
-      <return-value>
-        <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_tolerance" c:identifier="cairo_get_tolerance">
-      <return-value>
-        <type name="double" c:type="double"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_antialias" c:identifier="cairo_get_antialias">
-      <return-value>
-        <type name="cairo_antialias_t" c:type="cairo_antialias_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="has_current_point" c:identifier="cairo_has_current_point">
-      <return-value>
-        <type name="cairo_bool_t" c:type="cairo_bool_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_current_point" c:identifier="cairo_get_current_point">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="x">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="y">
-          <type name="double" c:type="double*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_fill_rule" c:identifier="cairo_get_fill_rule">
-      <return-value>
-        <type name="cairo_fill_rule_t" c:type="cairo_fill_rule_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_line_width" c:identifier="cairo_get_line_width">
-      <return-value>
-        <type name="double" c:type="double"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_line_cap" c:identifier="cairo_get_line_cap">
-      <return-value>
-        <type name="cairo_line_cap_t" c:type="cairo_line_cap_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_line_join" c:identifier="cairo_get_line_join">
-      <return-value>
-        <type name="cairo_line_join_t" c:type="cairo_line_join_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_miter_limit" c:identifier="cairo_get_miter_limit">
-      <return-value>
-        <type name="double" c:type="double"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_dash_count" c:identifier="cairo_get_dash_count">
-      <return-value>
-        <type name="int32" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_dash" c:identifier="cairo_get_dash">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="dashes">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="offset">
-          <type name="double" c:type="double*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_matrix" c:identifier="cairo_get_matrix">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="matrix">
-          <type name="cairo_matrix_t" c:type="cairo_matrix_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_target" c:identifier="cairo_get_target">
-      <return-value>
-        <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="get_group_target" c:identifier="cairo_get_group_target">
-      <return-value>
-        <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <record name="cairo_path" c:type="cairo_path">
-      <field name="status">
-        <type name="cairo_status_t" c:type="cairo_status_t"/>
-      </field>
-      <field name="data">
-        <type name="cairo_path_data_t" c:type="cairo_path_data_t*"/>
-      </field>
-      <field name="num_data">
-        <type name="int32" c:type="int"/>
-      </field>
-    </record>
-    <record name="cairo_path_t" c:type="cairo_path_t"/>
-    <function name="copy_path" c:identifier="cairo_copy_path">
-      <return-value>
-        <type name="cairo_path_t" c:type="cairo_path_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="copy_path_flat" c:identifier="cairo_copy_path_flat">
-      <return-value>
-        <type name="cairo_path_t" c:type="cairo_path_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="append_path" c:identifier="cairo_append_path">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-        <parameter name="path">
-          <type name="cairo_path_t" c:type="cairo_path_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="path_destroy" c:identifier="cairo_path_destroy">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="path">
-          <type name="cairo_path_t" c:type="cairo_path_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="status" c:identifier="cairo_status">
-      <return-value>
-        <type name="cairo_status_t" c:type="cairo_status_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="cr">
-          <type name="cairo_t" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="status_to_string" c:identifier="cairo_status_to_string">
-      <return-value>
-        <type name="string" c:type="char*"/>
-      </return-value>
-      <parameters>
-        <parameter name="status">
-          <type name="cairo_status_t" c:type="cairo_status_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="surface_create_similar"
-              c:identifier="cairo_surface_create_similar">
-      <return-value>
-        <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="other">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-        <parameter name="content">
-          <type name="cairo_content_t" c:type="cairo_content_t"/>
-        </parameter>
-        <parameter name="width">
-          <type name="int32" c:type="int"/>
-        </parameter>
-        <parameter name="height">
-          <type name="int32" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="surface_reference" c:identifier="cairo_surface_reference">
-      <return-value>
-        <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="surface_finish" c:identifier="cairo_surface_finish">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="surface_destroy" c:identifier="cairo_surface_destroy">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="surface_get_reference_count"
-              c:identifier="cairo_surface_get_reference_count">
-      <return-value>
-        <type name="unsigned" c:type="unsigned"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="surface_status" c:identifier="cairo_surface_status">
-      <return-value>
-        <type name="cairo_status_t" c:type="cairo_status_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="surface_get_type" c:identifier="cairo_surface_get_type">
-      <return-value>
-        <type name="cairo_surface_type_t" c:type="cairo_surface_type_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="surface_get_content"
-              c:identifier="cairo_surface_get_content">
-      <return-value>
-        <type name="cairo_content_t" c:type="cairo_content_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="surface_write_to_png"
-              c:identifier="cairo_surface_write_to_png">
-      <return-value>
-        <type name="cairo_status_t" c:type="cairo_status_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-        <parameter name="filename">
-          <type name="string" c:type="char*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="surface_write_to_png_stream"
-              c:identifier="cairo_surface_write_to_png_stream">
-      <return-value>
-        <type name="cairo_status_t" c:type="cairo_status_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-        <parameter name="write_func">
-          <type name="cairo_write_func_t" c:type="cairo_write_func_t"/>
-        </parameter>
-        <parameter name="closure">
-          <type name="any" c:type="void*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="surface_get_user_data"
-              c:identifier="cairo_surface_get_user_data">
-      <return-value>
-        <type name="any" c:type="void*"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-        <parameter name="key">
-          <type name="cairo_user_data_key_t" c:type="cairo_user_data_key_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="surface_set_user_data"
-              c:identifier="cairo_surface_set_user_data">
-      <return-value>
-        <type name="cairo_status_t" c:type="cairo_status_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-        <parameter name="key">
-          <type name="cairo_user_data_key_t" c:type="cairo_user_data_key_t*"/>
-        </parameter>
-        <parameter name="user_data">
-          <type name="any" c:type="void*"/>
-        </parameter>
-        <parameter name="destroy">
-          <type name="cairo_destroy_func_t" c:type="cairo_destroy_func_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="surface_get_font_options"
-              c:identifier="cairo_surface_get_font_options">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-        <parameter name="options">
-          <type name="cairo_font_options_t" c:type="cairo_font_options_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="surface_flush" c:identifier="cairo_surface_flush">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="surface_mark_dirty"
-              c:identifier="cairo_surface_mark_dirty">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="surface_mark_dirty_rectangle"
-              c:identifier="cairo_surface_mark_dirty_rectangle">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-        <parameter name="x">
-          <type name="int32" c:type="int"/>
-        </parameter>
-        <parameter name="y">
-          <type name="int32" c:type="int"/>
-        </parameter>
-        <parameter name="width">
-          <type name="int32" c:type="int"/>
-        </parameter>
-        <parameter name="height">
-          <type name="int32" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="surface_set_device_offset"
-              c:identifier="cairo_surface_set_device_offset">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-        <parameter name="x_offset">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="y_offset">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="surface_get_device_offset"
-              c:identifier="cairo_surface_get_device_offset">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-        <parameter name="x_offset">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="y_offset">
-          <type name="double" c:type="double*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="surface_set_fallback_resolution"
-              c:identifier="cairo_surface_set_fallback_resolution">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-        <parameter name="x_pixels_per_inch">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="y_pixels_per_inch">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="surface_copy_page" c:identifier="cairo_surface_copy_page">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="surface_show_page" c:identifier="cairo_surface_show_page">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="image_surface_create"
-              c:identifier="cairo_image_surface_create">
-      <return-value>
-        <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="format">
-          <type name="cairo_format_t" c:type="cairo_format_t"/>
-        </parameter>
-        <parameter name="width">
-          <type name="int32" c:type="int"/>
-        </parameter>
-        <parameter name="height">
-          <type name="int32" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="format_stride_for_width"
-              c:identifier="cairo_format_stride_for_width">
-      <return-value>
-        <type name="int32" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="format">
-          <type name="cairo_format_t" c:type="cairo_format_t"/>
-        </parameter>
-        <parameter name="width">
-          <type name="int32" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="image_surface_create_for_data"
-              c:identifier="cairo_image_surface_create_for_data">
-      <return-value>
-        <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="data">
-          <type name="unsigned" c:type="unsigned*"/>
-        </parameter>
-        <parameter name="format">
-          <type name="cairo_format_t" c:type="cairo_format_t"/>
-        </parameter>
-        <parameter name="width">
-          <type name="int32" c:type="int"/>
-        </parameter>
-        <parameter name="height">
-          <type name="int32" c:type="int"/>
-        </parameter>
-        <parameter name="stride">
-          <type name="int32" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="image_surface_get_data"
-              c:identifier="cairo_image_surface_get_data">
-      <return-value>
-        <type name="unsigned" c:type="unsigned*"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="image_surface_get_format"
-              c:identifier="cairo_image_surface_get_format">
-      <return-value>
-        <type name="cairo_format_t" c:type="cairo_format_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="image_surface_get_width"
-              c:identifier="cairo_image_surface_get_width">
-      <return-value>
-        <type name="int32" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="image_surface_get_height"
-              c:identifier="cairo_image_surface_get_height">
-      <return-value>
-        <type name="int32" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="image_surface_get_stride"
-              c:identifier="cairo_image_surface_get_stride">
-      <return-value>
-        <type name="int32" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="image_surface_create_from_png"
-              c:identifier="cairo_image_surface_create_from_png">
-      <return-value>
-        <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="filename">
-          <type name="string" c:type="char*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="image_surface_create_from_png_stream"
-              c:identifier="cairo_image_surface_create_from_png_stream">
-      <return-value>
-        <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="read_func">
-          <type name="cairo_read_func_t" c:type="cairo_read_func_t"/>
-        </parameter>
-        <parameter name="closure">
-          <type name="any" c:type="void*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_create_rgb"
-              c:identifier="cairo_pattern_create_rgb">
-      <return-value>
-        <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="red">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="green">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="blue">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_create_rgba"
-              c:identifier="cairo_pattern_create_rgba">
-      <return-value>
-        <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="red">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="green">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="blue">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="alpha">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_create_for_surface"
-              c:identifier="cairo_pattern_create_for_surface">
-      <return-value>
-        <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_create_linear"
-              c:identifier="cairo_pattern_create_linear">
-      <return-value>
-        <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="x0">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="y0">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="x1">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="y1">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_create_radial"
-              c:identifier="cairo_pattern_create_radial">
-      <return-value>
-        <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="cx0">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="cy0">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="radius0">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="cx1">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="cy1">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="radius1">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_reference" c:identifier="cairo_pattern_reference">
-      <return-value>
-        <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="pattern">
-          <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_destroy" c:identifier="cairo_pattern_destroy">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="pattern">
-          <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_get_reference_count"
-              c:identifier="cairo_pattern_get_reference_count">
-      <return-value>
-        <type name="unsigned" c:type="unsigned"/>
-      </return-value>
-      <parameters>
-        <parameter name="pattern">
-          <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_status" c:identifier="cairo_pattern_status">
-      <return-value>
-        <type name="cairo_status_t" c:type="cairo_status_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="pattern">
-          <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_get_user_data"
-              c:identifier="cairo_pattern_get_user_data">
-      <return-value>
-        <type name="any" c:type="void*"/>
-      </return-value>
-      <parameters>
-        <parameter name="pattern">
-          <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-        </parameter>
-        <parameter name="key">
-          <type name="cairo_user_data_key_t" c:type="cairo_user_data_key_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_set_user_data"
-              c:identifier="cairo_pattern_set_user_data">
-      <return-value>
-        <type name="cairo_status_t" c:type="cairo_status_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="pattern">
-          <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-        </parameter>
-        <parameter name="key">
-          <type name="cairo_user_data_key_t" c:type="cairo_user_data_key_t*"/>
-        </parameter>
-        <parameter name="user_data">
-          <type name="any" c:type="void*"/>
-        </parameter>
-        <parameter name="destroy">
-          <type name="cairo_destroy_func_t" c:type="cairo_destroy_func_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_get_type" c:identifier="cairo_pattern_get_type">
-      <return-value>
-        <type name="cairo_pattern_type_t" c:type="cairo_pattern_type_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="pattern">
-          <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_add_color_stop_rgb"
-              c:identifier="cairo_pattern_add_color_stop_rgb">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="pattern">
-          <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-        </parameter>
-        <parameter name="offset">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="red">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="green">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="blue">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_add_color_stop_rgba"
-              c:identifier="cairo_pattern_add_color_stop_rgba">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="pattern">
-          <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-        </parameter>
-        <parameter name="offset">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="red">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="green">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="blue">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="alpha">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_set_matrix"
-              c:identifier="cairo_pattern_set_matrix">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="pattern">
-          <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-        </parameter>
-        <parameter name="matrix">
-          <type name="cairo_matrix_t" c:type="cairo_matrix_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_get_matrix"
-              c:identifier="cairo_pattern_get_matrix">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="pattern">
-          <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-        </parameter>
-        <parameter name="matrix">
-          <type name="cairo_matrix_t" c:type="cairo_matrix_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_set_extend"
-              c:identifier="cairo_pattern_set_extend">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="pattern">
-          <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-        </parameter>
-        <parameter name="extend">
-          <type name="cairo_extend_t" c:type="cairo_extend_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_get_extend"
-              c:identifier="cairo_pattern_get_extend">
-      <return-value>
-        <type name="cairo_extend_t" c:type="cairo_extend_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="pattern">
-          <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_set_filter"
-              c:identifier="cairo_pattern_set_filter">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="pattern">
-          <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-        </parameter>
-        <parameter name="filter">
-          <type name="cairo_filter_t" c:type="cairo_filter_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_get_filter"
-              c:identifier="cairo_pattern_get_filter">
-      <return-value>
-        <type name="cairo_filter_t" c:type="cairo_filter_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="pattern">
-          <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_get_rgba" c:identifier="cairo_pattern_get_rgba">
-      <return-value>
-        <type name="cairo_status_t" c:type="cairo_status_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="pattern">
-          <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-        </parameter>
-        <parameter name="red">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="green">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="blue">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="alpha">
-          <type name="double" c:type="double*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_get_surface"
-              c:identifier="cairo_pattern_get_surface">
-      <return-value>
-        <type name="cairo_status_t" c:type="cairo_status_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="pattern">
-          <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-        </parameter>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_get_color_stop_rgba"
-              c:identifier="cairo_pattern_get_color_stop_rgba">
-      <return-value>
-        <type name="cairo_status_t" c:type="cairo_status_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="pattern">
-          <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-        </parameter>
-        <parameter name="index">
-          <type name="int32" c:type="int"/>
-        </parameter>
-        <parameter name="offset">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="red">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="green">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="blue">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="alpha">
-          <type name="double" c:type="double*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_get_color_stop_count"
-              c:identifier="cairo_pattern_get_color_stop_count">
-      <return-value>
-        <type name="cairo_status_t" c:type="cairo_status_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="pattern">
-          <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-        </parameter>
-        <parameter name="count">
-          <type name="int" c:type="int*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_get_linear_points"
-              c:identifier="cairo_pattern_get_linear_points">
-      <return-value>
-        <type name="cairo_status_t" c:type="cairo_status_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="pattern">
-          <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-        </parameter>
-        <parameter name="x0">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="y0">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="x1">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="y1">
-          <type name="double" c:type="double*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pattern_get_radial_circles"
-              c:identifier="cairo_pattern_get_radial_circles">
-      <return-value>
-        <type name="cairo_status_t" c:type="cairo_status_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="pattern">
-          <type name="cairo_pattern_t" c:type="cairo_pattern_t*"/>
-        </parameter>
-        <parameter name="x0">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="y0">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="r0">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="x1">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="y1">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="r1">
-          <type name="double" c:type="double*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="matrix_init" c:identifier="cairo_matrix_init">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="matrix">
-          <type name="cairo_matrix_t" c:type="cairo_matrix_t*"/>
-        </parameter>
-        <parameter name="xx">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="yx">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="xy">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="yy">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="x0">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="y0">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="matrix_init_identity"
-              c:identifier="cairo_matrix_init_identity">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="matrix">
-          <type name="cairo_matrix_t" c:type="cairo_matrix_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="matrix_init_translate"
-              c:identifier="cairo_matrix_init_translate">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="matrix">
-          <type name="cairo_matrix_t" c:type="cairo_matrix_t*"/>
-        </parameter>
-        <parameter name="tx">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="ty">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="matrix_init_scale" c:identifier="cairo_matrix_init_scale">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="matrix">
-          <type name="cairo_matrix_t" c:type="cairo_matrix_t*"/>
-        </parameter>
-        <parameter name="sx">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="sy">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="matrix_init_rotate"
-              c:identifier="cairo_matrix_init_rotate">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="matrix">
-          <type name="cairo_matrix_t" c:type="cairo_matrix_t*"/>
-        </parameter>
-        <parameter name="radians">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="matrix_translate" c:identifier="cairo_matrix_translate">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="matrix">
-          <type name="cairo_matrix_t" c:type="cairo_matrix_t*"/>
-        </parameter>
-        <parameter name="tx">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="ty">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="matrix_scale" c:identifier="cairo_matrix_scale">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="matrix">
-          <type name="cairo_matrix_t" c:type="cairo_matrix_t*"/>
-        </parameter>
-        <parameter name="sx">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="sy">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="matrix_rotate" c:identifier="cairo_matrix_rotate">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="matrix">
-          <type name="cairo_matrix_t" c:type="cairo_matrix_t*"/>
-        </parameter>
-        <parameter name="radians">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="matrix_invert" c:identifier="cairo_matrix_invert">
-      <return-value>
-        <type name="cairo_status_t" c:type="cairo_status_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="matrix">
-          <type name="cairo_matrix_t" c:type="cairo_matrix_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="matrix_multiply" c:identifier="cairo_matrix_multiply">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="result">
-          <type name="cairo_matrix_t" c:type="cairo_matrix_t*"/>
-        </parameter>
-        <parameter name="a">
-          <type name="cairo_matrix_t" c:type="cairo_matrix_t*"/>
-        </parameter>
-        <parameter name="b">
-          <type name="cairo_matrix_t" c:type="cairo_matrix_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="matrix_transform_distance"
-              c:identifier="cairo_matrix_transform_distance">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="matrix">
-          <type name="cairo_matrix_t" c:type="cairo_matrix_t*"/>
-        </parameter>
-        <parameter name="dx">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="dy">
-          <type name="double" c:type="double*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="matrix_transform_point"
-              c:identifier="cairo_matrix_transform_point">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="matrix">
-          <type name="cairo_matrix_t" c:type="cairo_matrix_t*"/>
-        </parameter>
-        <parameter name="x">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="y">
-          <type name="double" c:type="double*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="debug_reset_static_data"
-              c:identifier="cairo_debug_reset_static_data">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-    </function>
-    <function name="ft_font_face_create_for_pattern"
-              c:identifier="cairo_ft_font_face_create_for_pattern">
-      <return-value>
-        <type name="cairo_font_face_t" c:type="cairo_font_face_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="pattern">
-          <type name="FcPattern" c:type="FcPattern*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ft_font_options_substitute"
-              c:identifier="cairo_ft_font_options_substitute">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="options">
-          <type name="cairo_font_options_t" c:type="cairo_font_options_t*"/>
-        </parameter>
-        <parameter name="pattern">
-          <type name="FcPattern" c:type="FcPattern*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ft_font_face_create_for_ft_face"
-              c:identifier="cairo_ft_font_face_create_for_ft_face">
-      <return-value>
-        <type name="cairo_font_face_t" c:type="cairo_font_face_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="face">
-          <type name="FT_Face" c:type="FT_Face"/>
-        </parameter>
-        <parameter name="load_flags">
-          <type name="int32" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ft_scaled_font_lock_face"
-              c:identifier="cairo_ft_scaled_font_lock_face">
-      <return-value>
-        <type name="FT_Face" c:type="FT_Face"/>
-      </return-value>
-      <parameters>
-        <parameter name="scaled_font">
-          <type name="cairo_scaled_font_t" c:type="cairo_scaled_font_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ft_scaled_font_unlock_face"
-              c:identifier="cairo_ft_scaled_font_unlock_face">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="scaled_font">
-          <type name="cairo_scaled_font_t" c:type="cairo_scaled_font_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pdf_surface_create"
-              c:identifier="cairo_pdf_surface_create">
-      <return-value>
-        <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="filename">
-          <type name="string" c:type="char*"/>
-        </parameter>
-        <parameter name="width_in_points">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="height_in_points">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pdf_surface_create_for_stream"
-              c:identifier="cairo_pdf_surface_create_for_stream">
-      <return-value>
-        <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="write_func">
-          <type name="cairo_write_func_t" c:type="cairo_write_func_t"/>
-        </parameter>
-        <parameter name="closure">
-          <type name="any" c:type="void*"/>
-        </parameter>
-        <parameter name="width_in_points">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="height_in_points">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pdf_surface_set_size"
-              c:identifier="cairo_pdf_surface_set_size">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-        <parameter name="width_in_points">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="height_in_points">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ps_surface_create" c:identifier="cairo_ps_surface_create">
-      <return-value>
-        <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="filename">
-          <type name="string" c:type="char*"/>
-        </parameter>
-        <parameter name="width_in_points">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="height_in_points">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ps_surface_create_for_stream"
-              c:identifier="cairo_ps_surface_create_for_stream">
-      <return-value>
-        <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="write_func">
-          <type name="cairo_write_func_t" c:type="cairo_write_func_t"/>
-        </parameter>
-        <parameter name="closure">
-          <type name="any" c:type="void*"/>
-        </parameter>
-        <parameter name="width_in_points">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="height_in_points">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ps_surface_restrict_to_level"
-              c:identifier="cairo_ps_surface_restrict_to_level">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-        <parameter name="level">
-          <type name="cairo_ps_level_t" c:type="cairo_ps_level_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ps_get_levels" c:identifier="cairo_ps_get_levels">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="levels">
-          <type name="cairo_ps_level_t" c:type="cairo_ps_level_t**"/>
-        </parameter>
-        <parameter name="num_levels">
-          <type name="int" c:type="int*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ps_level_to_string"
-              c:identifier="cairo_ps_level_to_string">
-      <return-value>
-        <type name="string" c:type="char*"/>
-      </return-value>
-      <parameters>
-        <parameter name="level">
-          <type name="cairo_ps_level_t" c:type="cairo_ps_level_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ps_surface_set_eps"
-              c:identifier="cairo_ps_surface_set_eps">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-        <parameter name="eps">
-          <type name="cairo_bool_t" c:type="cairo_bool_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ps_surface_get_eps"
-              c:identifier="cairo_ps_surface_get_eps">
-      <return-value>
-        <type name="cairo_bool_t" c:type="cairo_bool_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ps_surface_set_size"
-              c:identifier="cairo_ps_surface_set_size">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-        <parameter name="width_in_points">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="height_in_points">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ps_surface_dsc_comment"
-              c:identifier="cairo_ps_surface_dsc_comment">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-        <parameter name="comment">
-          <type name="string" c:type="char*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ps_surface_dsc_begin_setup"
-              c:identifier="cairo_ps_surface_dsc_begin_setup">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ps_surface_dsc_begin_page_setup"
-              c:identifier="cairo_ps_surface_dsc_begin_page_setup">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="svg_surface_create"
-              c:identifier="cairo_svg_surface_create">
-      <return-value>
-        <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="filename">
-          <type name="string" c:type="char*"/>
-        </parameter>
-        <parameter name="width_in_points">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="height_in_points">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="svg_surface_create_for_stream"
-              c:identifier="cairo_svg_surface_create_for_stream">
-      <return-value>
-        <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="write_func">
-          <type name="cairo_write_func_t" c:type="cairo_write_func_t"/>
-        </parameter>
-        <parameter name="closure">
-          <type name="any" c:type="void*"/>
-        </parameter>
-        <parameter name="width_in_points">
-          <type name="double" c:type="double"/>
-        </parameter>
-        <parameter name="height_in_points">
-          <type name="double" c:type="double"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="svg_surface_restrict_to_version"
-              c:identifier="cairo_svg_surface_restrict_to_version">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-        <parameter name="version">
-          <type name="cairo_svg_version_t" c:type="cairo_svg_version_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="svg_get_versions" c:identifier="cairo_svg_get_versions">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="versions">
-          <type name="cairo_svg_version_t" c:type="cairo_svg_version_t**"/>
-        </parameter>
-        <parameter name="num_versions">
-          <type name="int" c:type="int*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="svg_version_to_string"
-              c:identifier="cairo_svg_version_to_string">
-      <return-value>
-        <type name="string" c:type="char*"/>
-      </return-value>
-      <parameters>
-        <parameter name="version">
-          <type name="cairo_svg_version_t" c:type="cairo_svg_version_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="xlib_surface_create"
-              c:identifier="cairo_xlib_surface_create">
-      <return-value>
-        <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="dpy">
-          <type name="Display" c:type="Display*"/>
-        </parameter>
-        <parameter name="drawable">
-          <type name="Drawable" c:type="Drawable"/>
-        </parameter>
-        <parameter name="visual">
-          <type name="Visual" c:type="Visual*"/>
-        </parameter>
-        <parameter name="width">
-          <type name="int32" c:type="int"/>
-        </parameter>
-        <parameter name="height">
-          <type name="int32" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="xlib_surface_create_for_bitmap"
-              c:identifier="cairo_xlib_surface_create_for_bitmap">
-      <return-value>
-        <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="dpy">
-          <type name="Display" c:type="Display*"/>
-        </parameter>
-        <parameter name="bitmap">
-          <type name="Pixmap" c:type="Pixmap"/>
-        </parameter>
-        <parameter name="screen">
-          <type name="Screen" c:type="Screen*"/>
-        </parameter>
-        <parameter name="width">
-          <type name="int32" c:type="int"/>
-        </parameter>
-        <parameter name="height">
-          <type name="int32" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="xlib_surface_set_size"
-              c:identifier="cairo_xlib_surface_set_size">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-        <parameter name="width">
-          <type name="int32" c:type="int"/>
-        </parameter>
-        <parameter name="height">
-          <type name="int32" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="xlib_surface_set_drawable"
-              c:identifier="cairo_xlib_surface_set_drawable">
-      <return-value>
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-        <parameter name="drawable">
-          <type name="Drawable" c:type="Drawable"/>
-        </parameter>
-        <parameter name="width">
-          <type name="int32" c:type="int"/>
-        </parameter>
-        <parameter name="height">
-          <type name="int32" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="xlib_surface_get_display"
-              c:identifier="cairo_xlib_surface_get_display">
-      <return-value>
-        <type name="Display" c:type="Display*"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="xlib_surface_get_drawable"
-              c:identifier="cairo_xlib_surface_get_drawable">
-      <return-value>
-        <type name="Drawable" c:type="Drawable"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="xlib_surface_get_screen"
-              c:identifier="cairo_xlib_surface_get_screen">
-      <return-value>
-        <type name="Screen" c:type="Screen*"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="xlib_surface_get_visual"
-              c:identifier="cairo_xlib_surface_get_visual">
-      <return-value>
-        <type name="Visual" c:type="Visual*"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="xlib_surface_get_depth"
-              c:identifier="cairo_xlib_surface_get_depth">
-      <return-value>
-        <type name="int32" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="xlib_surface_get_width"
-              c:identifier="cairo_xlib_surface_get_width">
-      <return-value>
-        <type name="int32" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="xlib_surface_get_height"
-              c:identifier="cairo_xlib_surface_get_height">
-      <return-value>
-        <type name="int32" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="xlib_surface_create_with_xrender_format"
-              c:identifier="cairo_xlib_surface_create_with_xrender_format">
-      <return-value>
-        <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-      </return-value>
-      <parameters>
-        <parameter name="dpy">
-          <type name="Display" c:type="Display*"/>
-        </parameter>
-        <parameter name="drawable">
-          <type name="Drawable" c:type="Drawable"/>
-        </parameter>
-        <parameter name="screen">
-          <type name="Screen" c:type="Screen*"/>
-        </parameter>
-        <parameter name="format">
-          <type name="XRenderPictFormat" c:type="XRenderPictFormat*"/>
-        </parameter>
-        <parameter name="width">
-          <type name="int32" c:type="int"/>
-        </parameter>
-        <parameter name="height">
-          <type name="int32" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="xlib_surface_get_xrender_format"
-              c:identifier="cairo_xlib_surface_get_xrender_format">
-      <return-value>
-        <type name="XRenderPictFormat" c:type="XRenderPictFormat*"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface">
-          <type name="cairo_surface_t" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
+    <record name="cairo_font_type_t" c:type="cairo_font_type_t"/>
+    <record name="cairo_scaled_font_t" c:type="cairo_scaled_font_t"/>
   </namespace>
 </repository>

Added: trunk/gir/freetype2.gir
==============================================================================
--- (empty file)
+++ trunk/gir/freetype2.gir	Sat Aug 16 15:41:34 2008
@@ -0,0 +1,8 @@
+<repository version="1.0"
+            xmlns="http://www.gtk.org/introspection/core/1.0";
+            xmlns:c="http://www.gtk.org/introspection/c/1.0";>
+  <namespace name="Freetype">
+    <record name="Bitmap" c:type="FC_Bitmap"/>
+    <record name="Face" c:type="FT_Face"/>
+  </namespace>
+</repository>

Modified: trunk/gir/pangocairo.gir
==============================================================================
--- trunk/gir/pangocairo.gir	(original)
+++ trunk/gir/pangocairo.gir	Sat Aug 16 15:41:34 2008
@@ -11,7 +11,7 @@
       </return-value>
       <parameters>
         <parameter name="cr">
-          <type name="Cairo.cairo_t" c:type="cairo_t*"/>
+          <type name="cairo.cairo_t" c:type="cairo_t*"/>
         </parameter>
         <parameter name="attr">
           <type name="Pango.PangoAttrShape" c:type="PangoAttrShape*"/>
@@ -42,7 +42,7 @@
       </return-value>
       <parameters>
         <parameter name="fonttype">
-          <type name="cairo_font_type_t" c:type="cairo_font_type_t"/>
+          <type name="cairo.cairo_font_type_t" c:type="cairo_font_type_t"/>
         </parameter>
       </parameters>
     </function>
@@ -55,7 +55,7 @@
     <function name="pango_cairo_font_map_get_font_type"
               c:identifier="pango_cairo_font_map_get_font_type">
       <return-value>
-        <type name="cairo_font_type_t" c:type="cairo_font_type_t"/>
+        <type name="cairo.cairo_font_type_t" c:type="cairo_font_type_t"/>
       </return-value>
       <parameters>
         <parameter name="fontmap">
@@ -107,7 +107,7 @@
     <function name="pango_cairo_font_get_scaled_font"
               c:identifier="pango_cairo_font_get_scaled_font">
       <return-value>
-        <type name="Cairo.cairo_scaled_font_t" c:type="cairo_scaled_font_t*"/>
+        <type name="cairo.cairo_scaled_font_t" c:type="cairo_scaled_font_t*"/>
       </return-value>
       <parameters>
         <parameter name="font">
@@ -122,7 +122,7 @@
       </return-value>
       <parameters>
         <parameter name="cr">
-          <type name="Cairo.cairo_t" c:type="cairo_t*"/>
+          <type name="cairo.cairo_t" c:type="cairo_t*"/>
         </parameter>
         <parameter name="context">
           <type name="Pango.Context" c:type="PangoContext*"/>
@@ -139,7 +139,7 @@
           <type name="Pango.Context" c:type="PangoContext*"/>
         </parameter>
         <parameter name="options">
-          <type name="Cairo.cairo_font_options_t"
+          <type name="cairo.cairo_font_options_t"
                 c:type="cairo_font_options_t*"/>
         </parameter>
       </parameters>
@@ -147,7 +147,7 @@
     <function name="pango_cairo_context_get_font_options"
               c:identifier="pango_cairo_context_get_font_options">
       <return-value>
-        <type name="Cairo.cairo_font_options_t"
+        <type name="cairo.cairo_font_options_t"
               c:type="cairo_font_options_t*"/>
       </return-value>
       <parameters>
@@ -224,7 +224,7 @@
       </return-value>
       <parameters>
         <parameter name="cr">
-          <type name="Cairo.cairo_t" c:type="cairo_t*"/>
+          <type name="cairo.cairo_t" c:type="cairo_t*"/>
         </parameter>
       </parameters>
     </function>
@@ -235,7 +235,7 @@
       </return-value>
       <parameters>
         <parameter name="cr">
-          <type name="Cairo.cairo_t" c:type="cairo_t*"/>
+          <type name="cairo.cairo_t" c:type="cairo_t*"/>
         </parameter>
         <parameter name="layout">
           <type name="Pango.Layout" c:type="PangoLayout*"/>
@@ -249,7 +249,7 @@
       </return-value>
       <parameters>
         <parameter name="cr">
-          <type name="Cairo.cairo_t" c:type="cairo_t*"/>
+          <type name="cairo.cairo_t" c:type="cairo_t*"/>
         </parameter>
         <parameter name="font">
           <type name="Pango.Font" c:type="PangoFont*"/>
@@ -266,7 +266,7 @@
       </return-value>
       <parameters>
         <parameter name="cr">
-          <type name="Cairo.cairo_t" c:type="cairo_t*"/>
+          <type name="cairo.cairo_t" c:type="cairo_t*"/>
         </parameter>
         <parameter name="line">
           <type name="PangoLayoutLine" c:type="PangoLayoutLine*"/>
@@ -280,7 +280,7 @@
       </return-value>
       <parameters>
         <parameter name="cr">
-          <type name="Cairo.cairo_t" c:type="cairo_t*"/>
+          <type name="cairo.cairo_t" c:type="cairo_t*"/>
         </parameter>
         <parameter name="layout">
           <type name="Pango.Layout" c:type="PangoLayout*"/>
@@ -294,7 +294,7 @@
       </return-value>
       <parameters>
         <parameter name="cr">
-          <type name="Cairo.cairo_t" c:type="cairo_t*"/>
+          <type name="cairo.cairo_t" c:type="cairo_t*"/>
         </parameter>
         <parameter name="x">
           <type name="double" c:type="double"/>
@@ -317,7 +317,7 @@
       </return-value>
       <parameters>
         <parameter name="cr">
-          <type name="Cairo.cairo_t" c:type="cairo_t*"/>
+          <type name="cairo.cairo_t" c:type="cairo_t*"/>
         </parameter>
         <parameter name="font">
           <type name="Pango.Font" c:type="PangoFont*"/>
@@ -334,7 +334,7 @@
       </return-value>
       <parameters>
         <parameter name="cr">
-          <type name="Cairo.cairo_t" c:type="cairo_t*"/>
+          <type name="cairo.cairo_t" c:type="cairo_t*"/>
         </parameter>
         <parameter name="line">
           <type name="PangoLayoutLine" c:type="PangoLayoutLine*"/>
@@ -348,7 +348,7 @@
       </return-value>
       <parameters>
         <parameter name="cr">
-          <type name="Cairo.cairo_t" c:type="cairo_t*"/>
+          <type name="cairo.cairo_t" c:type="cairo_t*"/>
         </parameter>
         <parameter name="layout">
           <type name="Pango.Layout" c:type="PangoLayout*"/>
@@ -362,7 +362,7 @@
       </return-value>
       <parameters>
         <parameter name="cr">
-          <type name="Cairo.cairo_t" c:type="cairo_t*"/>
+          <type name="cairo.cairo_t" c:type="cairo_t*"/>
         </parameter>
         <parameter name="x">
           <type name="double" c:type="double"/>

Modified: trunk/gir/pangox.gir
==============================================================================
--- trunk/gir/pangox.gir	(original)
+++ trunk/gir/pangox.gir	Sat Aug 16 15:41:34 2008
@@ -6,7 +6,7 @@
     <alias name="PangoXSubfont" target="guint16"/>
     <callback name="PangoGetGCFunc">
       <return-value>
-        <type name="GC" c:type="GC"/>
+        <type name="xlib.GC" c:type="GC"/>
       </return-value>
       <parameters>
         <parameter name="context">
@@ -16,7 +16,7 @@
           <type name="PangoColor" c:type="PangoColor*"/>
         </parameter>
         <parameter name="base_gc">
-          <type name="GC" c:type="GC"/>
+          <type name="xlib.GC" c:type="GC"/>
         </parameter>
       </parameters>
     </callback>
@@ -29,7 +29,7 @@
           <type name="Pango.Context" c:type="PangoContext*"/>
         </parameter>
         <parameter name="gc">
-          <type name="GC" c:type="GC"/>
+          <type name="xlib.GC" c:type="GC"/>
         </parameter>
       </parameters>
     </callback>
@@ -85,7 +85,7 @@
           <type name="Drawable" c:type="Drawable"/>
         </parameter>
         <parameter name="gc">
-          <type name="GC" c:type="GC"/>
+          <type name="xlib.GC" c:type="GC"/>
         </parameter>
         <parameter name="font">
           <type name="Pango.Font" c:type="PangoFont*"/>
@@ -114,7 +114,7 @@
           <type name="Drawable" c:type="Drawable"/>
         </parameter>
         <parameter name="gc">
-          <type name="GC" c:type="GC"/>
+          <type name="xlib.GC" c:type="GC"/>
         </parameter>
         <parameter name="line">
           <type name="PangoLayoutLine" c:type="PangoLayoutLine*"/>
@@ -140,7 +140,7 @@
           <type name="Drawable" c:type="Drawable"/>
         </parameter>
         <parameter name="gc">
-          <type name="GC" c:type="GC"/>
+          <type name="xlib.GC" c:type="GC"/>
         </parameter>
         <parameter name="layout">
           <type name="Pango.Layout" c:type="PangoLayout*"/>

Added: trunk/gir/xlib.gir
==============================================================================
--- (empty file)
+++ trunk/gir/xlib.gir	Sat Aug 16 15:41:34 2008
@@ -0,0 +1,7 @@
+<repository version="1.0"
+            xmlns="http://www.gtk.org/introspection/core/1.0";
+            xmlns:c="http://www.gtk.org/introspection/c/1.0";>
+  <namespace name="xlib">
+    <record name="GC" c:type="GC"/>
+  </namespace>
+</repository>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]