[cairo-commit] 16 commits - autogen.sh doc/public src/cairo-beos-surface.cpp src/cairo.c src/cairo-font-face.c src/cairo-font-options.c src/cairo-ft-font.c src/cairo-gl-surface.c src/cairo.h src/cairo-image-surface.c src/cairo-matrix.c src/cairo-misc.c src/cairo-path.c src/cairo-pattern.c src/cairo-pdf-surface.c src/cairo-png.c src/cairo-ps-surface.c src/cairo-quartz-font.c src/cairo-quartz-surface.c src/cairo-region.c src/cairo-scaled-font.c src/cairo-surface.c src/cairo-svg-surface.c src/cairo-types-private.h src/cairo-user-font.c src/cairo-version.c src/cairo-win32-font.c src/cairo-win32-surface.c src/cairo-xcb-surface.c src/cairo-xcb-surface-render.c src/cairo-xlib-surface.c src/Makefile.sources

Benjamin Otte company at kemper.freedesktop.org
Thu Jul 8 05:28:11 PDT 2010


 autogen.sh                              |    4 
 doc/public/Makefile.am                  |    4 
 doc/public/cairo-docs.xml               |    5 
 doc/public/cairo-sections.txt           |   57 ++
 doc/public/tmpl/.gitignore              |    3 
 doc/public/tmpl/cairo-atsui.sgml        |   21 
 doc/public/tmpl/cairo-beos.sgml         |   22 -
 doc/public/tmpl/cairo-font-face.sgml    |  116 -----
 doc/public/tmpl/cairo-font-options.sgml |  199 ---------
 doc/public/tmpl/cairo-ft.sgml           |   87 ----
 doc/public/tmpl/cairo-image.sgml        |  127 ------
 doc/public/tmpl/cairo-matrix.sgml       |  169 --------
 doc/public/tmpl/cairo-paths.sgml        |  263 ------------
 doc/public/tmpl/cairo-pattern.sgml      |  350 ----------------
 doc/public/tmpl/cairo-pdf.sgml          |  101 ----
 doc/public/tmpl/cairo-png.sgml          |   96 ----
 doc/public/tmpl/cairo-ps.sgml           |  144 ------
 doc/public/tmpl/cairo-quartz-fonts.sgml |   52 --
 doc/public/tmpl/cairo-quartz.sgml       |   64 ---
 doc/public/tmpl/cairo-scaled-font.sgml  |  227 ----------
 doc/public/tmpl/cairo-status.sgml       |   98 ----
 doc/public/tmpl/cairo-surface.sgml      |  326 ---------------
 doc/public/tmpl/cairo-svg.sgml          |   91 ----
 doc/public/tmpl/cairo-text.sgml         |  319 ---------------
 doc/public/tmpl/cairo-transforms.sgml   |  132 ------
 doc/public/tmpl/cairo-types.sgml        |   43 --
 doc/public/tmpl/cairo-user-fonts.sgml   |  169 --------
 doc/public/tmpl/cairo-version.sgml      |  205 ---------
 doc/public/tmpl/cairo-win32-fonts.sgml  |  106 -----
 doc/public/tmpl/cairo-win32.sgml        |  101 ----
 doc/public/tmpl/cairo-xcb-xrender.sgml  |   26 -
 doc/public/tmpl/cairo-xcb.sgml          |   26 -
 doc/public/tmpl/cairo-xlib-xrender.sgml |   60 --
 doc/public/tmpl/cairo-xlib.sgml         |  147 ------
 doc/public/tmpl/cairo.sgml              |  674 --------------------------------
 src/Makefile.sources                    |   14 
 src/cairo-beos-surface.cpp              |   10 
 src/cairo-font-face.c                   |   17 
 src/cairo-font-options.c                |   12 
 src/cairo-ft-font.c                     |   25 +
 src/cairo-gl-surface.c                  |    2 
 src/cairo-image-surface.c               |   21 
 src/cairo-matrix.c                      |   23 +
 src/cairo-misc.c                        |   20 
 src/cairo-path.c                        |    9 
 src/cairo-pattern.c                     |   17 
 src/cairo-pdf-surface.c                 |   17 
 src/cairo-png.c                         |   18 
 src/cairo-ps-surface.c                  |   17 
 src/cairo-quartz-font.c                 |   17 
 src/cairo-quartz-surface.c              |   17 
 src/cairo-region.c                      |   16 
 src/cairo-scaled-font.c                 |   10 
 src/cairo-surface.c                     |   47 ++
 src/cairo-svg-surface.c                 |   17 
 src/cairo-types-private.h               |    8 
 src/cairo-user-font.c                   |   22 +
 src/cairo-version.c                     |  156 +++++++
 src/cairo-win32-font.c                  |   17 
 src/cairo-win32-surface.c               |   24 +
 src/cairo-xcb-surface-render.c          |   13 
 src/cairo-xcb-surface.c                 |   13 
 src/cairo-xlib-surface.c                |   40 +
 src/cairo.c                             |   57 ++
 src/cairo.h                             |   16 
 65 files changed, 763 insertions(+), 4583 deletions(-)

New commits:
commit b870cc030d8e0eb6309695e5a101c802f688cf40
Author: Benjamin Otte <otte at redhat.com>
Date:   Thu Jul 8 13:05:18 2010 +0200

    doc: Move tmpl/ docs to inline docs
    
    I did this manually so I could review the docs at the same time.
    If anyone finds typos or other mistakes I did, please complain to me (or
    better: fix them).

diff --git a/doc/public/cairo-sections.txt b/doc/public/cairo-sections.txt
index 7e23ce0..d5832aa 100644
--- a/doc/public/cairo-sections.txt
+++ b/doc/public/cairo-sections.txt
@@ -334,7 +334,7 @@ cairo_debug_reset_static_data
 
 <SECTION>
 <FILE>cairo-font-face</FILE>
-<TITLE>font-face</TITLE>
+<TITLE>cairo_font_face_t</TITLE>
 cairo_font_face_t
 cairo_font_face_reference
 cairo_font_face_destroy
@@ -373,7 +373,7 @@ cairo_scaled_font_get_user_data
 
 <SECTION>
 <FILE>cairo-font-options</FILE>
-<TITLE>font-options</TITLE>
+<TITLE>cairo_font_options_t</TITLE>
 cairo_font_options_t
 cairo_font_options_create
 cairo_font_options_copy
diff --git a/doc/public/tmpl/.gitignore b/doc/public/tmpl/.gitignore
deleted file mode 100644
index 5cc8a01..0000000
--- a/doc/public/tmpl/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-cairo-unused.sgml
-*.bak
-*~
diff --git a/doc/public/tmpl/cairo-atsui.sgml b/doc/public/tmpl/cairo-atsui.sgml
deleted file mode 100644
index 434bec6..0000000
--- a/doc/public/tmpl/cairo-atsui.sgml
+++ /dev/null
@@ -1,21 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-ATSUI Fonts
-
-<!-- ##### SECTION Short_Description ##### -->
-Font support for ATSUI on OS X
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-The ATSUI font backend is primarily used to render text on Apple OS X systems.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>#cairo_font_face_t</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
diff --git a/doc/public/tmpl/cairo-beos.sgml b/doc/public/tmpl/cairo-beos.sgml
deleted file mode 100644
index d4fbc09..0000000
--- a/doc/public/tmpl/cairo-beos.sgml
+++ /dev/null
@@ -1,22 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-BeOS Surfaces
-
-<!-- ##### SECTION Short_Description ##### -->
-BeOS surface support
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-The BeOS surface is used to render cairo graphics to
-BeOS views and bitmaps.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>#cairo_surface_t</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
diff --git a/doc/public/tmpl/cairo-font-face.sgml b/doc/public/tmpl/cairo-font-face.sgml
deleted file mode 100644
index e3c1689..0000000
--- a/doc/public/tmpl/cairo-font-face.sgml
+++ /dev/null
@@ -1,116 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-cairo_font_face_t
-
-<!-- ##### SECTION Short_Description ##### -->
-Base class for font faces
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-#cairo_font_face_t represents a particular font at a particular weight,
-slant, and other characteristic but no size, transformation, or size.
-</para>
-<para>
-Font faces are created using <firstterm>font-backend</firstterm>-specific
-constructors, typically of the form
-cairo_<emphasis>backend</emphasis>_font_face_create(),
-or implicitly using the <firstterm>toy</firstterm> text API by way of
-cairo_select_font_face().  The resulting face can be accessed using
-cairo_get_font_face().
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>#cairo_scaled_font_t</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### TYPEDEF cairo_font_face_t ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION cairo_font_face_reference ##### -->
-<para>
-
-</para>
-
- at font_face: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_font_face_destroy ##### -->
-<para>
-
-</para>
-
- at font_face: 
-
-
-<!-- ##### FUNCTION cairo_font_face_status ##### -->
-<para>
-
-</para>
-
- at font_face: 
- at Returns: 
-
-
-<!-- ##### ENUM cairo_font_type_t ##### -->
-<para>
-
-</para>
-
- at CAIRO_FONT_TYPE_TOY: 
- at CAIRO_FONT_TYPE_FT: 
- at CAIRO_FONT_TYPE_WIN32: 
- at CAIRO_FONT_TYPE_QUARTZ: 
- at CAIRO_FONT_TYPE_USER: 
-
-<!-- ##### FUNCTION cairo_font_face_get_type ##### -->
-<para>
-
-</para>
-
- at font_face: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_font_face_get_reference_count ##### -->
-<para>
-
-</para>
-
- at font_face: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_font_face_set_user_data ##### -->
-<para>
-
-</para>
-
- at font_face: 
- at key: 
- at user_data: 
- at destroy: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_font_face_get_user_data ##### -->
-<para>
-
-</para>
-
- at font_face: 
- at key: 
- at Returns: 
-
-
diff --git a/doc/public/tmpl/cairo-font-options.sgml b/doc/public/tmpl/cairo-font-options.sgml
deleted file mode 100644
index b0743fb..0000000
--- a/doc/public/tmpl/cairo-font-options.sgml
+++ /dev/null
@@ -1,199 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-cairo_font_options_t
-
-<!-- ##### SECTION Short_Description ##### -->
-How a font should be rendered
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-The font options specify how fonts should be rendered.  Most of the time the
-font options implied by a surface are just right and do not need any changes,
-but for pixel-based targets tweaking font options may result in superior
-output on a particular display.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>#cairo_scaled_font_t</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### TYPEDEF cairo_font_options_t ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION cairo_font_options_create ##### -->
-<para>
-
-</para>
-
- at void: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_font_options_copy ##### -->
-<para>
-
-</para>
-
- at original: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_font_options_destroy ##### -->
-<para>
-
-</para>
-
- at options: 
-
-
-<!-- ##### FUNCTION cairo_font_options_status ##### -->
-<para>
-
-</para>
-
- at options: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_font_options_merge ##### -->
-<para>
-
-</para>
-
- at options: 
- at other: 
-
-
-<!-- ##### FUNCTION cairo_font_options_hash ##### -->
-<para>
-
-</para>
-
- at options: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_font_options_equal ##### -->
-<para>
-
-</para>
-
- at options: 
- at other: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_font_options_set_antialias ##### -->
-<para>
-
-</para>
-
- at options: 
- at antialias: 
-
-
-<!-- ##### FUNCTION cairo_font_options_get_antialias ##### -->
-<para>
-
-</para>
-
- at options: 
- at Returns: 
-
-
-<!-- ##### ENUM cairo_subpixel_order_t ##### -->
-<para>
-
-</para>
-
- at CAIRO_SUBPIXEL_ORDER_DEFAULT: 
- at CAIRO_SUBPIXEL_ORDER_RGB: 
- at CAIRO_SUBPIXEL_ORDER_BGR: 
- at CAIRO_SUBPIXEL_ORDER_VRGB: 
- at CAIRO_SUBPIXEL_ORDER_VBGR: 
-
-<!-- ##### FUNCTION cairo_font_options_set_subpixel_order ##### -->
-<para>
-
-</para>
-
- at options: 
- at subpixel_order: 
-
-
-<!-- ##### FUNCTION cairo_font_options_get_subpixel_order ##### -->
-<para>
-
-</para>
-
- at options: 
- at Returns: 
-
-
-<!-- ##### ENUM cairo_hint_style_t ##### -->
-<para>
-
-</para>
-
- at CAIRO_HINT_STYLE_DEFAULT: 
- at CAIRO_HINT_STYLE_NONE: 
- at CAIRO_HINT_STYLE_SLIGHT: 
- at CAIRO_HINT_STYLE_MEDIUM: 
- at CAIRO_HINT_STYLE_FULL: 
-
-<!-- ##### FUNCTION cairo_font_options_set_hint_style ##### -->
-<para>
-
-</para>
-
- at options: 
- at hint_style: 
-
-
-<!-- ##### FUNCTION cairo_font_options_get_hint_style ##### -->
-<para>
-
-</para>
-
- at options: 
- at Returns: 
-
-
-<!-- ##### ENUM cairo_hint_metrics_t ##### -->
-<para>
-
-</para>
-
- at CAIRO_HINT_METRICS_DEFAULT: 
- at CAIRO_HINT_METRICS_OFF: 
- at CAIRO_HINT_METRICS_ON: 
-
-<!-- ##### FUNCTION cairo_font_options_set_hint_metrics ##### -->
-<para>
-
-</para>
-
- at options: 
- at hint_metrics: 
-
-
-<!-- ##### FUNCTION cairo_font_options_get_hint_metrics ##### -->
-<para>
-
-</para>
-
- at options: 
- at Returns: 
-
-
diff --git a/doc/public/tmpl/cairo-ft.sgml b/doc/public/tmpl/cairo-ft.sgml
deleted file mode 100644
index 66a4727..0000000
--- a/doc/public/tmpl/cairo-ft.sgml
+++ /dev/null
@@ -1,87 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-FreeType Fonts
-
-<!-- ##### SECTION Short_Description ##### -->
-Font support for FreeType
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-The FreeType font backend is primarily used to render text on GNU/Linux
-systems, but can be used on other platforms too.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>#cairo_font_face_t</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### MACRO CAIRO_HAS_FT_FONT ##### -->
-<para>
-Defined if the FreeType font backend is available.
-This macro can be used to conditionally compile backend-specific code.
-</para>
-
-
-
-<!-- ##### MACRO CAIRO_HAS_FC_FONT ##### -->
-<para>
-Defined if the Fontconfig-specific functions of the FreeType font backend
-are available.
-This macro can be used to conditionally compile backend-specific code.
-</para>
-
-
-
-<!-- ##### FUNCTION cairo_ft_font_face_create_for_ft_face ##### -->
-<para>
-
-</para>
-
- at face: 
- at load_flags: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_ft_font_face_create_for_pattern ##### -->
-<para>
-
-</para>
-
- at pattern: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_ft_font_options_substitute ##### -->
-<para>
-
-</para>
-
- at options: 
- at pattern: 
-
-
-<!-- ##### FUNCTION cairo_ft_scaled_font_lock_face ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_ft_scaled_font_unlock_face ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
-
-
diff --git a/doc/public/tmpl/cairo-image.sgml b/doc/public/tmpl/cairo-image.sgml
deleted file mode 100644
index 68988f4..0000000
--- a/doc/public/tmpl/cairo-image.sgml
+++ /dev/null
@@ -1,127 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Image Surfaces
-
-<!-- ##### SECTION Short_Description ##### -->
-Rendering to memory buffers
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-Image surfaces provide the ability to render to memory buffers
-either allocated by cairo or by the calling code.  The supported
-image formats are those defined in #cairo_format_t.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>#cairo_surface_t</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### MACRO CAIRO_HAS_IMAGE_SURFACE ##### -->
-<para>
-Defined if the image surface backend is available.
-The image surface backend is always built in.
-This macro was added for completeness in cairo 1.8.
-</para>
-
- at Since: 1.8
-
-
-<!-- ##### ENUM cairo_format_t ##### -->
-<para>
-
-</para>
-
- at CAIRO_FORMAT_INVALID: 
- at CAIRO_FORMAT_ARGB32: 
- at CAIRO_FORMAT_RGB24: 
- at CAIRO_FORMAT_A8: 
- at CAIRO_FORMAT_A1: 
- at CAIRO_FORMAT_RGB16_565: 
-
-<!-- ##### FUNCTION cairo_format_stride_for_width ##### -->
-<para>
-
-</para>
-
- at format: 
- at width: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_image_surface_create ##### -->
-<para>
-
-</para>
-
- at format: 
- at width: 
- at height: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_image_surface_create_for_data ##### -->
-<para>
-
-</para>
-
- at data: 
- at format: 
- at width: 
- at height: 
- at stride: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_image_surface_get_data ##### -->
-<para>
-
-</para>
-
- at surface: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_image_surface_get_format ##### -->
-<para>
-
-</para>
-
- at surface: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_image_surface_get_width ##### -->
-<para>
-
-</para>
-
- at surface: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_image_surface_get_height ##### -->
-<para>
-
-</para>
-
- at surface: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_image_surface_get_stride ##### -->
-<para>
-
-</para>
-
- at surface: 
- at Returns: 
-
-
diff --git a/doc/public/tmpl/cairo-matrix.sgml b/doc/public/tmpl/cairo-matrix.sgml
deleted file mode 100644
index 0923247..0000000
--- a/doc/public/tmpl/cairo-matrix.sgml
+++ /dev/null
@@ -1,169 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-cairo_matrix_t
-
-<!-- ##### SECTION Short_Description ##### -->
-Generic matrix operations
-
-<!-- ##### SECTION Long_Description ##### -->
-  <para>
-    #cairo_matrix_t is used throughout cairo to convert between different
-    coordinate spaces.  A #cairo_matrix_t holds an affine transformation,
-    such as a scale, rotation, shear, or a combination of these.
-    The transformation of a point (<literal>x</literal>,<literal>y</literal>)
-    is given by:
-  </para>
-  <programlisting>
-    x_new = xx * x + xy * y + x0;
-    y_new = yx * x + yy * y + y0;
-  </programlisting>
-  <para>
-    The current transformation matrix of a #cairo_t, represented as a
-    #cairo_matrix_t, defines the transformation from user-space
-    coordinates to device-space coordinates. See cairo_get_matrix() and
-    cairo_set_matrix().
-  </para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>#cairo_t</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### STRUCT cairo_matrix_t ##### -->
-<para>
-
-</para>
-
- at xx: 
- at yx: 
- at xy: 
- at yy: 
- at x0: 
- at y0: 
-
-<!-- ##### FUNCTION cairo_matrix_init ##### -->
-<para>
-
-</para>
-
- at matrix: 
- at xx: 
- at yx: 
- at xy: 
- at yy: 
- at x0: 
- at y0: 
-
-
-<!-- ##### FUNCTION cairo_matrix_init_identity ##### -->
-<para>
-
-</para>
-
- at matrix: 
-
-
-<!-- ##### FUNCTION cairo_matrix_init_translate ##### -->
-<para>
-
-</para>
-
- at matrix: 
- at tx: 
- at ty: 
-
-
-<!-- ##### FUNCTION cairo_matrix_init_scale ##### -->
-<para>
-
-</para>
-
- at matrix: 
- at sx: 
- at sy: 
-
-
-<!-- ##### FUNCTION cairo_matrix_init_rotate ##### -->
-<para>
-
-</para>
-
- at matrix: 
- at radians: 
-
-
-<!-- ##### FUNCTION cairo_matrix_translate ##### -->
-<para>
-
-</para>
-
- at matrix: 
- at tx: 
- at ty: 
-
-
-<!-- ##### FUNCTION cairo_matrix_scale ##### -->
-<para>
-
-</para>
-
- at matrix: 
- at sx: 
- at sy: 
-
-
-<!-- ##### FUNCTION cairo_matrix_rotate ##### -->
-<para>
-
-</para>
-
- at matrix: 
- at radians: 
-
-
-<!-- ##### FUNCTION cairo_matrix_invert ##### -->
-<para>
-
-</para>
-
- at matrix: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_matrix_multiply ##### -->
-<para>
-
-</para>
-
- at result: 
- at a: 
- at b: 
-
-
-<!-- ##### FUNCTION cairo_matrix_transform_distance ##### -->
-<para>
-
-</para>
-
- at matrix: 
- at dx: 
- at dy: 
-
-
-<!-- ##### FUNCTION cairo_matrix_transform_point ##### -->
-<para>
-
-</para>
-
- at matrix: 
- at x: 
- at y: 
-
-
diff --git a/doc/public/tmpl/cairo-paths.sgml b/doc/public/tmpl/cairo-paths.sgml
deleted file mode 100644
index 0bffa29..0000000
--- a/doc/public/tmpl/cairo-paths.sgml
+++ /dev/null
@@ -1,263 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Paths
-
-<!-- ##### SECTION Short_Description ##### -->
-Creating paths and manipulating path data
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-Paths are the most basic drawing tools and are primarily used to implicitly
-generate simple masks.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### STRUCT cairo_path_t ##### -->
-<para>
-
-</para>
-
- at status: 
- at data: 
- at num_data: 
-
-<!-- ##### UNION cairo_path_data_t ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ENUM cairo_path_data_type_t ##### -->
-<para>
-
-</para>
-
- at CAIRO_PATH_MOVE_TO: 
- at CAIRO_PATH_LINE_TO: 
- at CAIRO_PATH_CURVE_TO: 
- at CAIRO_PATH_CLOSE_PATH: 
-
-<!-- ##### FUNCTION cairo_copy_path ##### -->
-<para>
-
-</para>
-
- at cr: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_copy_path_flat ##### -->
-<para>
-
-</para>
-
- at cr: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_path_destroy ##### -->
-<para>
-
-</para>
-
- at path: 
-
-
-<!-- ##### FUNCTION cairo_append_path ##### -->
-<para>
-
-</para>
-
- at cr: 
- at path: 
-
-
-<!-- ##### FUNCTION cairo_has_current_point ##### -->
-<para>
-
-</para>
-
- at cr: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_get_current_point ##### -->
-<para>
-
-</para>
-
- at cr: 
- at x: 
- at y: 
-
-
-<!-- ##### FUNCTION cairo_new_path ##### -->
-<para>
-
-</para>
-
- at cr: 
-
-
-<!-- ##### FUNCTION cairo_new_sub_path ##### -->
-<para>
-
-</para>
-
- at cr: 
-
-
-<!-- ##### FUNCTION cairo_close_path ##### -->
-<para>
-
-</para>
-
- at cr: 
-
-
-<!-- ##### FUNCTION cairo_arc ##### -->
-<para>
-
-</para>
-
- at cr: 
- at xc: 
- at yc: 
- at radius: 
- at angle1: 
- at angle2: 
-
-
-<!-- ##### FUNCTION cairo_arc_negative ##### -->
-<para>
-
-</para>
-
- at cr: 
- at xc: 
- at yc: 
- at radius: 
- at angle1: 
- at angle2: 
-
-
-<!-- ##### FUNCTION cairo_curve_to ##### -->
-<para>
-
-</para>
-
- at cr: 
- at x1: 
- at y1: 
- at x2: 
- at y2: 
- at x3: 
- at y3: 
-
-
-<!-- ##### FUNCTION cairo_line_to ##### -->
-<para>
-
-</para>
-
- at cr: 
- at x: 
- at y: 
-
-
-<!-- ##### FUNCTION cairo_move_to ##### -->
-<para>
-
-</para>
-
- at cr: 
- at x: 
- at y: 
-
-
-<!-- ##### FUNCTION cairo_rectangle ##### -->
-<para>
-
-</para>
-
- at cr: 
- at x: 
- at y: 
- at width: 
- at height: 
-
-
-<!-- ##### FUNCTION cairo_glyph_path ##### -->
-<para>
-
-</para>
-
- at cr: 
- at glyphs: 
- at num_glyphs: 
-
-
-<!-- ##### FUNCTION cairo_text_path ##### -->
-<para>
-
-</para>
-
- at cr: 
- at utf8: 
-
-
-<!-- ##### FUNCTION cairo_rel_curve_to ##### -->
-<para>
-
-</para>
-
- at cr: 
- at dx1: 
- at dy1: 
- at dx2: 
- at dy2: 
- at dx3: 
- at dy3: 
-
-
-<!-- ##### FUNCTION cairo_rel_line_to ##### -->
-<para>
-
-</para>
-
- at cr: 
- at dx: 
- at dy: 
-
-
-<!-- ##### FUNCTION cairo_rel_move_to ##### -->
-<para>
-
-</para>
-
- at cr: 
- at dx: 
- at dy: 
-
-
-<!-- ##### FUNCTION cairo_path_extents ##### -->
-<para>
-
-</para>
-
- at cr: 
- at x1: 
- at y1: 
- at x2: 
- at y2: 
-
-
diff --git a/doc/public/tmpl/cairo-pattern.sgml b/doc/public/tmpl/cairo-pattern.sgml
deleted file mode 100644
index b6c2cd5..0000000
--- a/doc/public/tmpl/cairo-pattern.sgml
+++ /dev/null
@@ -1,350 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-cairo_pattern_t
-
-<!-- ##### SECTION Short_Description ##### -->
-Sources for drawing
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-#cairo_pattern_t is the paint with which cairo draws.
-The primary use of patterns is as the source for all cairo drawing operations,
-although they can also be used as masks, that is, as the brush too.
-</para>
-<para>
-A cairo pattern is created by using one of the many constructors,
-of the form cairo_pattern_create_<emphasis>type</emphasis>()
-or implicitly through
-cairo_set_source_<emphasis>type</emphasis>() functions.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>#cairo_t</listitem>
-<listitem>#cairo_surface_t</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### TYPEDEF cairo_pattern_t ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION cairo_pattern_add_color_stop_rgb ##### -->
-<para>
-
-</para>
-
- at pattern: 
- at offset: 
- at red: 
- at green: 
- at blue: 
-
-
-<!-- ##### FUNCTION cairo_pattern_add_color_stop_rgba ##### -->
-<para>
-
-</para>
-
- at pattern: 
- at offset: 
- at red: 
- at green: 
- at blue: 
- at alpha: 
-
-
-<!-- ##### FUNCTION cairo_pattern_get_color_stop_count ##### -->
-<para>
-
-</para>
-
- at pattern: 
- at count: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_pattern_get_color_stop_rgba ##### -->
-<para>
-
-</para>
-
- at pattern: 
- at index: 
- at offset: 
- at red: 
- at green: 
- at blue: 
- at alpha: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_pattern_create_rgb ##### -->
-<para>
-
-</para>
-
- at red: 
- at green: 
- at blue: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_pattern_create_rgba ##### -->
-<para>
-
-</para>
-
- at red: 
- at green: 
- at blue: 
- at alpha: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_pattern_get_rgba ##### -->
-<para>
-
-</para>
-
- at pattern: 
- at red: 
- at green: 
- at blue: 
- at alpha: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_pattern_create_for_surface ##### -->
-<para>
-
-</para>
-
- at surface: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_pattern_get_surface ##### -->
-<para>
-
-</para>
-
- at pattern: 
- at surface: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_pattern_create_linear ##### -->
-<para>
-
-</para>
-
- at x0: 
- at y0: 
- at x1: 
- at y1: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_pattern_get_linear_points ##### -->
-<para>
-
-</para>
-
- at pattern: 
- at x0: 
- at y0: 
- at x1: 
- at y1: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_pattern_create_radial ##### -->
-<para>
-
-</para>
-
- at cx0: 
- at cy0: 
- at radius0: 
- at cx1: 
- at cy1: 
- at radius1: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_pattern_get_radial_circles ##### -->
-<para>
-
-</para>
-
- at pattern: 
- at x0: 
- at y0: 
- at r0: 
- at x1: 
- at y1: 
- at r1: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_pattern_reference ##### -->
-<para>
-
-</para>
-
- at pattern: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_pattern_destroy ##### -->
-<para>
-
-</para>
-
- at pattern: 
-
-
-<!-- ##### FUNCTION cairo_pattern_status ##### -->
-<para>
-
-</para>
-
- at pattern: 
- at Returns: 
-
-
-<!-- ##### ENUM cairo_extend_t ##### -->
-<para>
-
-</para>
-
- at CAIRO_EXTEND_NONE: 
- at CAIRO_EXTEND_REPEAT: 
- at CAIRO_EXTEND_REFLECT: 
- at CAIRO_EXTEND_PAD: 
-
-<!-- ##### FUNCTION cairo_pattern_set_extend ##### -->
-<para>
-
-</para>
-
- at pattern: 
- at extend: 
-
-
-<!-- ##### FUNCTION cairo_pattern_get_extend ##### -->
-<para>
-
-</para>
-
- at pattern: 
- at Returns: 
-
-
-<!-- ##### ENUM cairo_filter_t ##### -->
-<para>
-
-</para>
-
- at CAIRO_FILTER_FAST: 
- at CAIRO_FILTER_GOOD: 
- at CAIRO_FILTER_BEST: 
- at CAIRO_FILTER_NEAREST: 
- at CAIRO_FILTER_BILINEAR: 
- at CAIRO_FILTER_GAUSSIAN: 
-
-<!-- ##### FUNCTION cairo_pattern_set_filter ##### -->
-<para>
-
-</para>
-
- at pattern: 
- at filter: 
-
-
-<!-- ##### FUNCTION cairo_pattern_get_filter ##### -->
-<para>
-
-</para>
-
- at pattern: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_pattern_set_matrix ##### -->
-<para>
-
-</para>
-
- at pattern: 
- at matrix: 
-
-
-<!-- ##### FUNCTION cairo_pattern_get_matrix ##### -->
-<para>
-
-</para>
-
- at pattern: 
- at matrix: 
-
-
-<!-- ##### ENUM cairo_pattern_type_t ##### -->
-<para>
-
-</para>
-
- at CAIRO_PATTERN_TYPE_SOLID: 
- at CAIRO_PATTERN_TYPE_SURFACE: 
- at CAIRO_PATTERN_TYPE_LINEAR: 
- at CAIRO_PATTERN_TYPE_RADIAL: 
-
-<!-- ##### FUNCTION cairo_pattern_get_type ##### -->
-<para>
-
-</para>
-
- at pattern: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_pattern_get_reference_count ##### -->
-<para>
-
-</para>
-
- at pattern: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_pattern_set_user_data ##### -->
-<para>
-
-</para>
-
- at pattern: 
- at key: 
- at user_data: 
- at destroy: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_pattern_get_user_data ##### -->
-<para>
-
-</para>
-
- at pattern: 
- at key: 
- at Returns: 
-
-
diff --git a/doc/public/tmpl/cairo-pdf.sgml b/doc/public/tmpl/cairo-pdf.sgml
deleted file mode 100644
index 9cc3a6e..0000000
--- a/doc/public/tmpl/cairo-pdf.sgml
+++ /dev/null
@@ -1,101 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-PDF Surfaces
-
-<!-- ##### SECTION Short_Description ##### -->
-Rendering PDF documents
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-The PDF surface is used to render cairo graphics to Adobe
-PDF files and is a multi-page vector surface backend.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>#cairo_surface_t</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### MACRO CAIRO_HAS_PDF_SURFACE ##### -->
-<para>
-Defined if the PDF surface backend is available.
-This macro can be used to conditionally compile backend-specific code.
-</para>
-
-
-
-<!-- ##### FUNCTION cairo_pdf_surface_create ##### -->
-<para>
-
-</para>
-
- at filename: 
- at width_in_points: 
- at height_in_points: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_pdf_surface_create_for_stream ##### -->
-<para>
-
-</para>
-
- at write_func: 
- at closure: 
- at width_in_points: 
- at height_in_points: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_pdf_surface_restrict_to_version ##### -->
-<para>
-
-</para>
-
- at surface: 
- at version: 
-
-
-<!-- ##### ENUM cairo_pdf_version_t ##### -->
-<para>
-
-</para>
-
- at CAIRO_PDF_VERSION_1_4: 
- at CAIRO_PDF_VERSION_1_5: 
-
-<!-- ##### FUNCTION cairo_pdf_get_versions ##### -->
-<para>
-
-</para>
-
- at versions: 
- at num_versions: 
-
-
-<!-- ##### FUNCTION cairo_pdf_version_to_string ##### -->
-<para>
-
-</para>
-
- at version: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_pdf_surface_set_size ##### -->
-<para>
-
-</para>
-
- at surface: 
- at width_in_points: 
- at height_in_points: 
-
-
diff --git a/doc/public/tmpl/cairo-png.sgml b/doc/public/tmpl/cairo-png.sgml
deleted file mode 100644
index c65c3fc..0000000
--- a/doc/public/tmpl/cairo-png.sgml
+++ /dev/null
@@ -1,96 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-PNG Support
-
-<!-- ##### SECTION Short_Description ##### -->
-Reading and writing PNG images
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-The PNG functions allow reading PNG images into image surfaces, and writing
-any surface to a PNG file.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>#cairo_surface_t</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### MACRO CAIRO_HAS_PNG_FUNCTIONS ##### -->
-<para>
-Defined if the PNG functions are available.
-This macro can be used to conditionally compile code using the cairo
-PNG functions.
-</para>
-
-
-
-<!-- ##### FUNCTION cairo_image_surface_create_from_png ##### -->
-<para>
-
-</para>
-
- at filename: 
- at Returns: 
-
-
-<!-- ##### USER_FUNCTION cairo_read_func_t ##### -->
-<para>
-
-</para>
-
- at closure: 
- at data: 
- at length: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_image_surface_create_from_png_stream ##### -->
-<para>
-
-</para>
-
- at read_func: 
- at closure: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_surface_write_to_png ##### -->
-<para>
-
-</para>
-
- at surface: 
- at filename: 
- at Returns: 
-
-
-<!-- ##### USER_FUNCTION cairo_write_func_t ##### -->
-<para>
-
-</para>
-
- at closure: 
- at data: 
- at length: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_surface_write_to_png_stream ##### -->
-<para>
-
-</para>
-
- at surface: 
- at write_func: 
- at closure: 
- at Returns: 
-
-
diff --git a/doc/public/tmpl/cairo-ps.sgml b/doc/public/tmpl/cairo-ps.sgml
deleted file mode 100644
index ac8f351..0000000
--- a/doc/public/tmpl/cairo-ps.sgml
+++ /dev/null
@@ -1,144 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-PostScript Surfaces
-
-<!-- ##### SECTION Short_Description ##### -->
-Rendering PostScript documents
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-The PostScript surface is used to render cairo graphics to Adobe
-PostScript files and is a multi-page vector surface backend.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>#cairo_surface_t</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### MACRO CAIRO_HAS_PS_SURFACE ##### -->
-<para>
-Defined if the PostScript surface backend is available.
-This macro can be used to conditionally compile backend-specific code.
-</para>
-
-
-
-<!-- ##### FUNCTION cairo_ps_surface_create ##### -->
-<para>
-
-</para>
-
- at filename: 
- at width_in_points: 
- at height_in_points: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_ps_surface_create_for_stream ##### -->
-<para>
-
-</para>
-
- at write_func: 
- at closure: 
- at width_in_points: 
- at height_in_points: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_ps_surface_restrict_to_level ##### -->
-<para>
-
-</para>
-
- at surface: 
- at level: 
-
-
-<!-- ##### ENUM cairo_ps_level_t ##### -->
-<para>
-
-</para>
-
- at CAIRO_PS_LEVEL_2: 
- at CAIRO_PS_LEVEL_3: 
-
-<!-- ##### FUNCTION cairo_ps_get_levels ##### -->
-<para>
-
-</para>
-
- at levels: 
- at num_levels: 
-
-
-<!-- ##### FUNCTION cairo_ps_level_to_string ##### -->
-<para>
-
-</para>
-
- at level: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_ps_surface_set_eps ##### -->
-<para>
-
-</para>
-
- at surface: 
- at eps: 
-
-
-<!-- ##### FUNCTION cairo_ps_surface_get_eps ##### -->
-<para>
-
-</para>
-
- at surface: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_ps_surface_set_size ##### -->
-<para>
-
-</para>
-
- at surface: 
- at width_in_points: 
- at height_in_points: 
-
-
-<!-- ##### FUNCTION cairo_ps_surface_dsc_begin_setup ##### -->
-<para>
-
-</para>
-
- at surface: 
-
-
-<!-- ##### FUNCTION cairo_ps_surface_dsc_begin_page_setup ##### -->
-<para>
-
-</para>
-
- at surface: 
-
-
-<!-- ##### FUNCTION cairo_ps_surface_dsc_comment ##### -->
-<para>
-
-</para>
-
- at surface: 
- at comment: 
-
-
diff --git a/doc/public/tmpl/cairo-quartz-fonts.sgml b/doc/public/tmpl/cairo-quartz-fonts.sgml
deleted file mode 100644
index 4fcd429..0000000
--- a/doc/public/tmpl/cairo-quartz-fonts.sgml
+++ /dev/null
@@ -1,52 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Quartz (CGFont) Fonts
-
-<!-- ##### SECTION Short_Description ##### -->
-Font support via CGFont on OS X
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-The Quartz font backend is primarily used to render text on Apple
-MacOS X systems.  The CGFont API is used for the internal
-implementation of the font backend methods.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>#cairo_font_face_t</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### MACRO CAIRO_HAS_QUARTZ_FONT ##### -->
-<para>
-Defined if the Quartz font backend is available.
-This macro can be used to conditionally compile backend-specific code.
-</para>
-
-
-
-<!-- ##### FUNCTION cairo_quartz_font_face_create_for_cgfont ##### -->
-<para>
-
-</para>
-
- at font: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_quartz_font_face_create_for_atsu_font_id ##### -->
-<para>
-
-</para>
-
- at font_id: 
- at Returns: 
-
-
diff --git a/doc/public/tmpl/cairo-quartz.sgml b/doc/public/tmpl/cairo-quartz.sgml
deleted file mode 100644
index 4ece817..0000000
--- a/doc/public/tmpl/cairo-quartz.sgml
+++ /dev/null
@@ -1,64 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Quartz Surfaces
-
-<!-- ##### SECTION Short_Description ##### -->
-Rendering to Quartz surfaces
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-The Quartz surface is used to render cairo graphics targeting the
-Apple OS X Quartz rendering system.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>#cairo_surface_t</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### MACRO CAIRO_HAS_QUARTZ_SURFACE ##### -->
-<para>
-Defined if the Quartz surface backend is available.
-This macro can be used to conditionally compile backend-specific code.
-</para>
-
-
-
-<!-- ##### FUNCTION cairo_quartz_surface_create ##### -->
-<para>
-
-</para>
-
- at format: 
- at width: 
- at height: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_quartz_surface_create_for_cg_context ##### -->
-<para>
-
-</para>
-
- at cgContext: 
- at width: 
- at height: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_quartz_surface_get_cg_context ##### -->
-<para>
-
-</para>
-
- at surface: 
- at Returns: 
-
-
diff --git a/doc/public/tmpl/cairo-scaled-font.sgml b/doc/public/tmpl/cairo-scaled-font.sgml
deleted file mode 100644
index 9dd8c19..0000000
--- a/doc/public/tmpl/cairo-scaled-font.sgml
+++ /dev/null
@@ -1,227 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-cairo_scaled_font_t
-
-<!-- ##### SECTION Short_Description ##### -->
-Font face at particular size and options
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-#cairo_scaled_font_t represents a realization of a font face at a particular
-size and transformation and a certain set of font options.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>#cairo_font_face_t</listitem>
-<listitem>#cairo_matrix_t</listitem>
-<listitem>#cairo_font_options_t</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### TYPEDEF cairo_scaled_font_t ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION cairo_scaled_font_create ##### -->
-<para>
-
-</para>
-
- at font_face: 
- at font_matrix: 
- at ctm: 
- at options: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_scaled_font_reference ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_scaled_font_destroy ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
-
-
-<!-- ##### FUNCTION cairo_scaled_font_status ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
- at Returns: 
-
-
-<!-- ##### STRUCT cairo_font_extents_t ##### -->
-<para>
-
-</para>
-
- at ascent: 
- at descent: 
- at height: 
- at max_x_advance: 
- at max_y_advance: 
-
-<!-- ##### FUNCTION cairo_scaled_font_extents ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
- at extents: 
-
-
-<!-- ##### STRUCT cairo_text_extents_t ##### -->
-<para>
-
-</para>
-
- at x_bearing: 
- at y_bearing: 
- at width: 
- at height: 
- at x_advance: 
- at y_advance: 
-
-<!-- ##### FUNCTION cairo_scaled_font_text_extents ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
- at utf8: 
- at extents: 
-
-
-<!-- ##### FUNCTION cairo_scaled_font_glyph_extents ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
- at glyphs: 
- at num_glyphs: 
- at extents: 
-
-
-<!-- ##### FUNCTION cairo_scaled_font_text_to_glyphs ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
- at x: 
- at y: 
- at utf8: 
- at utf8_len: 
- at glyphs: 
- at num_glyphs: 
- at clusters: 
- at num_clusters: 
- at cluster_flags: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_scaled_font_get_font_face ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_scaled_font_get_font_options ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
- at options: 
-
-
-<!-- ##### FUNCTION cairo_scaled_font_get_font_matrix ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
- at font_matrix: 
-
-
-<!-- ##### FUNCTION cairo_scaled_font_get_ctm ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
- at ctm: 
-
-
-<!-- ##### FUNCTION cairo_scaled_font_get_scale_matrix ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
- at scale_matrix: 
-
-
-<!-- ##### FUNCTION cairo_scaled_font_get_type ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_scaled_font_get_reference_count ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_scaled_font_set_user_data ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
- at key: 
- at user_data: 
- at destroy: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_scaled_font_get_user_data ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
- at key: 
- at Returns: 
-
-
diff --git a/doc/public/tmpl/cairo-status.sgml b/doc/public/tmpl/cairo-status.sgml
deleted file mode 100644
index fee00c8..0000000
--- a/doc/public/tmpl/cairo-status.sgml
+++ /dev/null
@@ -1,98 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Error handling
-
-<!-- ##### SECTION Short_Description ##### -->
-Decoding cairo's status
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-Cairo uses a single status type to represent all kinds of errors.  A status
-value of %CAIRO_STATUS_SUCCESS represents no error and has an integer value
-of zero.  All other status values represent an error.
-</para>
-<para>
-Cairo's error handling is designed to be easy to use and safe.  All major
-cairo objects <firstterm>retain</firstterm> an error status internally which
-can be queried anytime by the users using cairo*_status() calls.  In
-the mean time, it is safe to call all cairo functions normally even if the
-underlying object is in an error status.  This means that no error handling
-code is required before or after each individual cairo function call.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>cairo_status()</listitem>
-<listitem>cairo_surface_status()</listitem>
-<listitem>cairo_pattern_status()</listitem>
-<listitem>cairo_font_face_status()</listitem>
-<listitem>cairo_scaled_font_status()</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### ENUM cairo_status_t ##### -->
-<para>
-
-</para>
-
- at CAIRO_STATUS_SUCCESS: 
- at CAIRO_STATUS_NO_MEMORY: 
- at CAIRO_STATUS_INVALID_RESTORE: 
- at CAIRO_STATUS_INVALID_POP_GROUP: 
- at CAIRO_STATUS_NO_CURRENT_POINT: 
- at CAIRO_STATUS_INVALID_MATRIX: 
- at CAIRO_STATUS_INVALID_STATUS: 
- at CAIRO_STATUS_NULL_POINTER: 
- at CAIRO_STATUS_INVALID_STRING: 
- at CAIRO_STATUS_INVALID_PATH_DATA: 
- at CAIRO_STATUS_READ_ERROR: 
- at CAIRO_STATUS_WRITE_ERROR: 
- at CAIRO_STATUS_SURFACE_FINISHED: 
- at CAIRO_STATUS_SURFACE_TYPE_MISMATCH: 
- at CAIRO_STATUS_PATTERN_TYPE_MISMATCH: 
- at CAIRO_STATUS_INVALID_CONTENT: 
- at CAIRO_STATUS_INVALID_FORMAT: 
- at CAIRO_STATUS_INVALID_VISUAL: 
- at CAIRO_STATUS_FILE_NOT_FOUND: 
- at CAIRO_STATUS_INVALID_DASH: 
- at CAIRO_STATUS_INVALID_DSC_COMMENT: 
- at CAIRO_STATUS_INVALID_INDEX: 
- at CAIRO_STATUS_CLIP_NOT_REPRESENTABLE: 
- at CAIRO_STATUS_TEMP_FILE_ERROR: 
- at CAIRO_STATUS_INVALID_STRIDE: 
- at CAIRO_STATUS_FONT_TYPE_MISMATCH: 
- at CAIRO_STATUS_USER_FONT_IMMUTABLE: 
- at CAIRO_STATUS_USER_FONT_ERROR: 
- at CAIRO_STATUS_NEGATIVE_COUNT: 
- at CAIRO_STATUS_INVALID_CLUSTERS: 
- at CAIRO_STATUS_INVALID_SLANT: 
- at CAIRO_STATUS_INVALID_WEIGHT: 
- at CAIRO_STATUS_INVALID_SIZE: 
- at CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED: 
- at CAIRO_STATUS_DEVICE_TYPE_MISMATCH: 
- at CAIRO_STATUS_DEVICE_ERROR: 
- at CAIRO_STATUS_LAST_STATUS: 
-
-<!-- ##### FUNCTION cairo_status_to_string ##### -->
-<para>
-
-</para>
-
- at status: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_debug_reset_static_data ##### -->
-<para>
-
-</para>
-
- at void: 
-
-
diff --git a/doc/public/tmpl/cairo-surface.sgml b/doc/public/tmpl/cairo-surface.sgml
deleted file mode 100644
index 645b38b..0000000
--- a/doc/public/tmpl/cairo-surface.sgml
+++ /dev/null
@@ -1,326 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-cairo_surface_t
-
-<!-- ##### SECTION Short_Description ##### -->
-Base class for surfaces
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-#cairo_surface_t is the abstract type representing all different drawing
-targets that cairo can render to.  The actual drawings are
-performed using a cairo <firstterm>context</firstterm>.
-</para>
-<para>
-A cairo surface is created by using <firstterm>backend</firstterm>-specific
-constructors, typically of the form
-cairo_<emphasis>backend</emphasis>_surface_create().
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>#cairo_t()</listitem>
-<listitem>#cairo_pattern_t()</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### MACRO CAIRO_MIME_TYPE_JP2 ##### -->
-<para>
-The Joint Photographic Experts Group (JPEG) 2000 image coding standard (ISO/IEC 15444-1). Since 1.10
-</para>
-
-
-
-<!-- ##### MACRO CAIRO_MIME_TYPE_JPEG ##### -->
-<para>
-The Joint Photographic Experts Group (JPEG) image coding standard (ISO/IEC 10918-1). Since 1.10
-</para>
-
-
-
-<!-- ##### MACRO CAIRO_MIME_TYPE_PNG ##### -->
-<para>
-The Portable Network Graphics image file format (ISO/IEC 15948). Since 1.10
-</para>
-
-
-
-<!-- ##### MACRO CAIRO_MIME_TYPE_URI ##### -->
-<para>
-URI for an image file (unofficial MIME type). Since 1.10
-</para>
-
-
-
-<!-- ##### TYPEDEF cairo_surface_t ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ENUM cairo_content_t ##### -->
-<para>
-
-</para>
-
- at CAIRO_CONTENT_COLOR: 
- at CAIRO_CONTENT_ALPHA: 
- at CAIRO_CONTENT_COLOR_ALPHA: 
-
-<!-- ##### FUNCTION cairo_surface_create_similar ##### -->
-<para>
-
-</para>
-
- at other: 
- at content: 
- at width: 
- at height: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_surface_reference ##### -->
-<para>
-
-</para>
-
- at surface: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_surface_destroy ##### -->
-<para>
-
-</para>
-
- at surface: 
-
-
-<!-- ##### FUNCTION cairo_surface_status ##### -->
-<para>
-
-</para>
-
- at surface: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_surface_finish ##### -->
-<para>
-
-</para>
-
- at surface: 
-
-
-<!-- ##### FUNCTION cairo_surface_flush ##### -->
-<para>
-
-</para>
-
- at surface: 
-
-
-<!-- ##### FUNCTION cairo_surface_get_font_options ##### -->
-<para>
-
-</para>
-
- at surface: 
- at options: 
-
-
-<!-- ##### FUNCTION cairo_surface_get_content ##### -->
-<para>
-
-</para>
-
- at surface: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_surface_mark_dirty ##### -->
-<para>
-
-</para>
-
- at surface: 
-
-
-<!-- ##### FUNCTION cairo_surface_mark_dirty_rectangle ##### -->
-<para>
-
-</para>
-
- at surface: 
- at x: 
- at y: 
- at width: 
- at height: 
-
-
-<!-- ##### FUNCTION cairo_surface_set_device_offset ##### -->
-<para>
-
-</para>
-
- at surface: 
- at x_offset: 
- at y_offset: 
-
-
-<!-- ##### FUNCTION cairo_surface_get_device_offset ##### -->
-<para>
-
-</para>
-
- at surface: 
- at x_offset: 
- at y_offset: 
-
-
-<!-- ##### FUNCTION cairo_surface_set_fallback_resolution ##### -->
-<para>
-
-</para>
-
- at surface: 
- at x_pixels_per_inch: 
- at y_pixels_per_inch: 
-
-
-<!-- ##### FUNCTION cairo_surface_get_fallback_resolution ##### -->
-<para>
-
-</para>
-
- at surface: 
- at x_pixels_per_inch: 
- at y_pixels_per_inch: 
-
-
-<!-- ##### ENUM cairo_surface_type_t ##### -->
-<para>
-
-</para>
-
- at CAIRO_SURFACE_TYPE_IMAGE: 
- at CAIRO_SURFACE_TYPE_PDF: 
- at CAIRO_SURFACE_TYPE_PS: 
- at CAIRO_SURFACE_TYPE_XLIB: 
- at CAIRO_SURFACE_TYPE_XCB: 
- at CAIRO_SURFACE_TYPE_GLITZ: 
- at CAIRO_SURFACE_TYPE_QUARTZ: 
- at CAIRO_SURFACE_TYPE_WIN32: 
- at CAIRO_SURFACE_TYPE_BEOS: 
- at CAIRO_SURFACE_TYPE_DIRECTFB: 
- at CAIRO_SURFACE_TYPE_SVG: 
- at CAIRO_SURFACE_TYPE_OS2: 
- at CAIRO_SURFACE_TYPE_WIN32_PRINTING: 
- at CAIRO_SURFACE_TYPE_QUARTZ_IMAGE: 
- at CAIRO_SURFACE_TYPE_SCRIPT: 
- at CAIRO_SURFACE_TYPE_QT: 
- at CAIRO_SURFACE_TYPE_RECORDING: 
- at CAIRO_SURFACE_TYPE_VG: 
- at CAIRO_SURFACE_TYPE_GL: 
- at CAIRO_SURFACE_TYPE_DRM: 
- at CAIRO_SURFACE_TYPE_TEE: 
- at CAIRO_SURFACE_TYPE_XML: 
- at CAIRO_SURFACE_TYPE_SKIA: 
-
-<!-- ##### FUNCTION cairo_surface_get_type ##### -->
-<para>
-
-</para>
-
- at surface: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_surface_get_reference_count ##### -->
-<para>
-
-</para>
-
- at surface: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_surface_set_user_data ##### -->
-<para>
-
-</para>
-
- at surface: 
- at key: 
- at user_data: 
- at destroy: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_surface_get_user_data ##### -->
-<para>
-
-</para>
-
- at surface: 
- at key: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_surface_copy_page ##### -->
-<para>
-
-</para>
-
- at surface: 
-
-
-<!-- ##### FUNCTION cairo_surface_show_page ##### -->
-<para>
-
-</para>
-
- at surface: 
-
-
-<!-- ##### FUNCTION cairo_surface_has_show_text_glyphs ##### -->
-<para>
-
-</para>
-
- at surface: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_surface_set_mime_data ##### -->
-<para>
-
-</para>
-
- at surface: 
- at mime_type: 
- at data: 
- at length: 
- at destroy: 
- at closure: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_surface_get_mime_data ##### -->
-<para>
-
-</para>
-
- at surface: 
- at mime_type: 
- at data: 
- at length: 
-
-
diff --git a/doc/public/tmpl/cairo-svg.sgml b/doc/public/tmpl/cairo-svg.sgml
deleted file mode 100644
index ae7baf6..0000000
--- a/doc/public/tmpl/cairo-svg.sgml
+++ /dev/null
@@ -1,91 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-SVG Surfaces
-
-<!-- ##### SECTION Short_Description ##### -->
-Rendering SVG documents
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-The SVG surface is used to render cairo graphics to
-SVG files and is a multi-page vector surface backend.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>#cairo_surface_t()</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### MACRO CAIRO_HAS_SVG_SURFACE ##### -->
-<para>
-Defined if the SVG surface backend is available.
-This macro can be used to conditionally compile backend-specific code.
-</para>
-
-
-
-<!-- ##### FUNCTION cairo_svg_surface_create ##### -->
-<para>
-
-</para>
-
- at filename: 
- at width_in_points: 
- at height_in_points: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_svg_surface_create_for_stream ##### -->
-<para>
-
-</para>
-
- at write_func: 
- at closure: 
- at width_in_points: 
- at height_in_points: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_svg_surface_restrict_to_version ##### -->
-<para>
-
-</para>
-
- at surface: 
- at version: 
-
-
-<!-- ##### ENUM cairo_svg_version_t ##### -->
-<para>
-
-</para>
-
- at CAIRO_SVG_VERSION_1_1: 
- at CAIRO_SVG_VERSION_1_2: 
-
-<!-- ##### FUNCTION cairo_svg_get_versions ##### -->
-<para>
-
-</para>
-
- at versions: 
- at num_versions: 
-
-
-<!-- ##### FUNCTION cairo_svg_version_to_string ##### -->
-<para>
-
-</para>
-
- at version: 
- at Returns: 
-
-
diff --git a/doc/public/tmpl/cairo-text.sgml b/doc/public/tmpl/cairo-text.sgml
deleted file mode 100644
index caeb3c0..0000000
--- a/doc/public/tmpl/cairo-text.sgml
+++ /dev/null
@@ -1,319 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Text
-
-<!-- ##### SECTION Short_Description ##### -->
-Rendering text and glyphs
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-Cairo has two sets of text rendering capabilities:
-<itemizedlist>
-  <listitem>
-    The functions with <emphasis>text</emphasis> in their name form cairo's
-    <firstterm>toy</firstterm> text API.  The toy API takes UTF-8 encoded
-    text and is limited in its functionality to rendering simple
-    left-to-right text with no advanced features.  That means for example
-    that most complex scripts like Hebrew, Arabic, and Indic scripts are
-    out of question.  No kerning or correct positioning of diacritical marks
-    either.  The font selection is pretty limited too and doesn't handle the
-    case that the selected font does not cover the characters in the text.
-    This set of functions are really that, a toy text API, for testing and
-    demonstration purposes.  Any serious application should avoid them.
-  </listitem>
-  <listitem>
-    The functions with <emphasis>glyphs</emphasis> in their name form cairo's
-    <firstterm>low-level</firstterm> text API.  The low-level API relies on
-    the user to convert text to a set of glyph indexes and positions.  This
-    is a very hard problem and is best handled by external libraries, like
-    the pangocairo that is part of the Pango text layout and rendering library.
-    Pango is available from <ulink
-    url="http://www.pango.org/">http://www.pango.org/</ulink>.
-  </listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>#cairo_font_face_t</listitem>
-<listitem>#cairo_scaled_font_t</listitem>
-<listitem>cairo_text_path()</listitem>
-<listitem>cairo_glyph_path()</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### STRUCT cairo_glyph_t ##### -->
-<para>
-
-</para>
-
- at index: 
- at x: 
- at y: 
-
-<!-- ##### ENUM cairo_font_slant_t ##### -->
-<para>
-
-</para>
-
- at CAIRO_FONT_SLANT_NORMAL: 
- at CAIRO_FONT_SLANT_ITALIC: 
- at CAIRO_FONT_SLANT_OBLIQUE: 
-
-<!-- ##### ENUM cairo_font_weight_t ##### -->
-<para>
-
-</para>
-
- at CAIRO_FONT_WEIGHT_NORMAL: 
- at CAIRO_FONT_WEIGHT_BOLD: 
-
-<!-- ##### STRUCT cairo_text_cluster_t ##### -->
-<para>
-
-</para>
-
- at num_bytes: 
- at num_glyphs: 
-
-<!-- ##### ENUM cairo_text_cluster_flags_t ##### -->
-<para>
-
-</para>
-
- at CAIRO_TEXT_CLUSTER_FLAG_BACKWARD: 
-
-<!-- ##### FUNCTION cairo_select_font_face ##### -->
-<para>
-
-</para>
-
- at cr: 
- at family: 
- at slant: 
- at weight: 
-
-
-<!-- ##### FUNCTION cairo_set_font_size ##### -->
-<para>
-
-</para>
-
- at cr: 
- at size: 
-
-
-<!-- ##### FUNCTION cairo_set_font_matrix ##### -->
-<para>
-
-</para>
-
- at cr: 
- at matrix: 
-
-
-<!-- ##### FUNCTION cairo_get_font_matrix ##### -->
-<para>
-
-</para>
-
- at cr: 
- at matrix: 
-
-
-<!-- ##### FUNCTION cairo_set_font_options ##### -->
-<para>
-
-</para>
-
- at cr: 
- at options: 
-
-
-<!-- ##### FUNCTION cairo_get_font_options ##### -->
-<para>
-
-</para>
-
- at cr: 
- at options: 
-
-
-<!-- ##### FUNCTION cairo_set_font_face ##### -->
-<para>
-
-</para>
-
- at cr: 
- at font_face: 
-
-
-<!-- ##### FUNCTION cairo_get_font_face ##### -->
-<para>
-
-</para>
-
- at cr: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_set_scaled_font ##### -->
-<para>
-
-</para>
-
- at cr: 
- at scaled_font: 
-
-
-<!-- ##### FUNCTION cairo_get_scaled_font ##### -->
-<para>
-
-</para>
-
- at cr: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_show_text ##### -->
-<para>
-
-</para>
-
- at cr: 
- at utf8: 
-
-
-<!-- ##### FUNCTION cairo_show_glyphs ##### -->
-<para>
-
-</para>
-
- at cr: 
- at glyphs: 
- at num_glyphs: 
-
-
-<!-- ##### FUNCTION cairo_show_text_glyphs ##### -->
-<para>
-
-</para>
-
- at cr: 
- at utf8: 
- at utf8_len: 
- at glyphs: 
- at num_glyphs: 
- at clusters: 
- at num_clusters: 
- at cluster_flags: 
-
-
-<!-- ##### FUNCTION cairo_font_extents ##### -->
-<para>
-
-</para>
-
- at cr: 
- at extents: 
-
-
-<!-- ##### FUNCTION cairo_text_extents ##### -->
-<para>
-
-</para>
-
- at cr: 
- at utf8: 
- at extents: 
-
-
-<!-- ##### FUNCTION cairo_glyph_extents ##### -->
-<para>
-
-</para>
-
- at cr: 
- at glyphs: 
- at num_glyphs: 
- at extents: 
-
-
-<!-- ##### FUNCTION cairo_toy_font_face_create ##### -->
-<para>
-
-</para>
-
- at family: 
- at slant: 
- at weight: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_toy_font_face_get_family ##### -->
-<para>
-
-</para>
-
- at font_face: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_toy_font_face_get_slant ##### -->
-<para>
-
-</para>
-
- at font_face: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_toy_font_face_get_weight ##### -->
-<para>
-
-</para>
-
- at font_face: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_glyph_allocate ##### -->
-<para>
-
-</para>
-
- at num_glyphs: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_glyph_free ##### -->
-<para>
-
-</para>
-
- at glyphs: 
-
-
-<!-- ##### FUNCTION cairo_text_cluster_allocate ##### -->
-<para>
-
-</para>
-
- at num_clusters: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_text_cluster_free ##### -->
-<para>
-
-</para>
-
- at clusters: 
-
-
diff --git a/doc/public/tmpl/cairo-transforms.sgml b/doc/public/tmpl/cairo-transforms.sgml
deleted file mode 100644
index 95f887d..0000000
--- a/doc/public/tmpl/cairo-transforms.sgml
+++ /dev/null
@@ -1,132 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Transformations
-
-<!-- ##### SECTION Short_Description ##### -->
-Manipulating the current transformation matrix
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-The current transformation matrix, <firstterm>ctm</firstterm>, is a
-two-dimensional affine transformation that maps all coordinates and other
-drawing instruments from the <firstterm>user space</firstterm> into the
-surface's canonical coordinate system, also known as the <firstterm>device
-space</firstterm>.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>#cairo_matrix_t</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### FUNCTION cairo_translate ##### -->
-<para>
-
-</para>
-
- at cr: 
- at tx: 
- at ty: 
-
-
-<!-- ##### FUNCTION cairo_scale ##### -->
-<para>
-
-</para>
-
- at cr: 
- at sx: 
- at sy: 
-
-
-<!-- ##### FUNCTION cairo_rotate ##### -->
-<para>
-
-</para>
-
- at cr: 
- at angle: 
-
-
-<!-- ##### FUNCTION cairo_transform ##### -->
-<para>
-
-</para>
-
- at cr: 
- at matrix: 
-
-
-<!-- ##### FUNCTION cairo_set_matrix ##### -->
-<para>
-
-</para>
-
- at cr: 
- at matrix: 
-
-
-<!-- ##### FUNCTION cairo_get_matrix ##### -->
-<para>
-
-</para>
-
- at cr: 
- at matrix: 
-
-
-<!-- ##### FUNCTION cairo_identity_matrix ##### -->
-<para>
-
-</para>
-
- at cr: 
-
-
-<!-- ##### FUNCTION cairo_user_to_device ##### -->
-<para>
-
-</para>
-
- at cr: 
- at x: 
- at y: 
-
-
-<!-- ##### FUNCTION cairo_user_to_device_distance ##### -->
-<para>
-
-</para>
-
- at cr: 
- at dx: 
- at dy: 
-
-
-<!-- ##### FUNCTION cairo_device_to_user ##### -->
-<para>
-
-</para>
-
- at cr: 
- at x: 
- at y: 
-
-
-<!-- ##### FUNCTION cairo_device_to_user_distance ##### -->
-<para>
-
-</para>
-
- at cr: 
- at dx: 
- at dy: 
-
-
diff --git a/doc/public/tmpl/cairo-types.sgml b/doc/public/tmpl/cairo-types.sgml
deleted file mode 100644
index a5c9ecd..0000000
--- a/doc/public/tmpl/cairo-types.sgml
+++ /dev/null
@@ -1,43 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Types
-
-<!-- ##### SECTION Short_Description ##### -->
-Generic data types
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-Generic data types used in the cairo API
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### TYPEDEF cairo_bool_t ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT cairo_user_data_key_t ##### -->
-<para>
-
-</para>
-
- at unused: 
-
-<!-- ##### USER_FUNCTION cairo_destroy_func_t ##### -->
-<para>
-
-</para>
-
- at data: 
-
-
diff --git a/doc/public/tmpl/cairo-user-fonts.sgml b/doc/public/tmpl/cairo-user-fonts.sgml
deleted file mode 100644
index 53b15c9..0000000
--- a/doc/public/tmpl/cairo-user-fonts.sgml
+++ /dev/null
@@ -1,169 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-User Fonts
-
-<!-- ##### SECTION Short_Description ##### -->
-Font support with font data provided by the user
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-The user-font feature allows the cairo user to provide drawings for glyphs
-in a font.  This is most useful in implementing fonts in non-standard
-formats, like SVG fonts and Flash fonts, but can also be used by games and
-other application to draw "funky" fonts.
-
-<!-- Include samples here -->
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### MACRO CAIRO_HAS_USER_FONT ##### -->
-<para>
-Defined if the user font backend is available.
-This macro can be used to conditionally compile backend-specific code.
-The user font backend is always built in versions of cairo that support
-this feature (1.8 and later).
-</para>
-
- at Since: 1.8
-
-
-<!-- ##### USER_FUNCTION cairo_user_scaled_font_init_func_t ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
- at cr: 
- at extents: 
- at Returns: 
-
-
-<!-- ##### USER_FUNCTION cairo_user_scaled_font_render_glyph_func_t ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
- at glyph: 
- at cr: 
- at extents: 
- at Returns: 
-
-
-<!-- ##### USER_FUNCTION cairo_user_scaled_font_text_to_glyphs_func_t ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
- at utf8: 
- at utf8_len: 
- at glyphs: 
- at num_glyphs: 
- at clusters: 
- at num_clusters: 
- at cluster_flags: 
- at Returns: 
-
-
-<!-- ##### USER_FUNCTION cairo_user_scaled_font_unicode_to_glyph_func_t ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
- at unicode: 
- at glyph_index: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_user_font_face_create ##### -->
-<para>
-
-</para>
-
- at void: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_user_font_face_set_init_func ##### -->
-<para>
-
-</para>
-
- at font_face: 
- at init_func: 
-
-
-<!-- ##### FUNCTION cairo_user_font_face_get_init_func ##### -->
-<para>
-
-</para>
-
- at font_face: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_user_font_face_set_render_glyph_func ##### -->
-<para>
-
-</para>
-
- at font_face: 
- at render_glyph_func: 
-
-
-<!-- ##### FUNCTION cairo_user_font_face_get_render_glyph_func ##### -->
-<para>
-
-</para>
-
- at font_face: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_user_font_face_set_unicode_to_glyph_func ##### -->
-<para>
-
-</para>
-
- at font_face: 
- at unicode_to_glyph_func: 
-
-
-<!-- ##### FUNCTION cairo_user_font_face_get_unicode_to_glyph_func ##### -->
-<para>
-
-</para>
-
- at font_face: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_user_font_face_set_text_to_glyphs_func ##### -->
-<para>
-
-</para>
-
- at font_face: 
- at text_to_glyphs_func: 
-
-
-<!-- ##### FUNCTION cairo_user_font_face_get_text_to_glyphs_func ##### -->
-<para>
-
-</para>
-
- at font_face: 
- at Returns: 
-
-
diff --git a/doc/public/tmpl/cairo-version.sgml b/doc/public/tmpl/cairo-version.sgml
deleted file mode 100644
index 79828b8..0000000
--- a/doc/public/tmpl/cairo-version.sgml
+++ /dev/null
@@ -1,205 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Version Information
-
-<!-- ##### SECTION Short_Description ##### -->
-Compile-time and run-time version checks.
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-Cairo has a three-part version number scheme. In this scheme, we use
-even vs. odd numbers to distinguish fixed points in the software
-vs. in-progress development, (such as from git instead of a tar file,
-or as a "snapshot" tar file as opposed to a "release" tar file).
-</para>
-<para>
-<informalexample><programlisting>
- _____ Major. Always 1, until we invent a new scheme.
-/  ___ Minor. Even/Odd = Release/Snapshot (tar files) or Branch/Head (git)
-| /  _ Micro. Even/Odd = Tar-file/git
-| | /
-1.0.0
-</programlisting></informalexample>
-</para>
-<para>
-Here are a few examples of versions that one might see.
-<informalexample><programlisting>
-Releases
---------
-1.0.0 - A major release
-1.0.2 - A subsequent maintenance release
-1.2.0 - Another major release
-
-Snapshots
----------
-1.1.2 - A snapshot (working toward the 1.2.0 release)
-
-In-progress development (eg. from git)
---------------------------------------
-1.0.1 - Development on a maintenance branch (toward 1.0.2 release)
-1.1.1 - Development on head (toward 1.1.2 snapshot and 1.2.0 release)
-</programlisting></informalexample>
-</para>
-
-<refsect2>
-<title>Compatibility</title>
-<para>
-The API/ABI compatibility guarantees for various versions are as
-follows. First, let's assume some cairo-using application code that is
-successfully using the API/ABI "from" one version of cairo. Then let's
-ask the question whether this same code can be moved "to" the API/ABI
-of another version of cairo.
-</para>
-
-<para>
-Moving from a release to any later version (release, snapshot,
-development) is always guaranteed to provide compatibility.
-</para>
-
-<para>
-Moving from a snapshot to any later version is not guaranteed to
-provide compatibility, since snapshots may introduce new API that ends
-up being removed before the next release.
-</para>
-
-<para>
-Moving from an in-development version (odd micro component) to any
-later version is not guaranteed to provide compatibility. In fact,
-there's not even a guarantee that the code will even continue to work
-with the same in-development version number. This is because these
-numbers don't correspond to any fixed state of the software, but
-rather the many states between snapshots and releases.
-</para>
-</refsect2>
-
-<refsect2>
-<title>Examining the version</title>
-<para>
-Cairo provides the ability to examine the version at either
-compile-time or run-time and in both a human-readable form as well as
-an encoded form suitable for direct comparison. Cairo also provides the
-macro CAIRO_VERSION_ENCODE() to perform the encoding.
-</para>
-
-<para>
-<informalexample><programlisting>
-Compile-time
-------------
-CAIRO_VERSION_STRING	Human-readable
-CAIRO_VERSION		Encoded, suitable for comparison
-
-Run-time
---------
-cairo_version_string()	Human-readable
-cairo_version()		Encoded, suitable for comparison
-</programlisting></informalexample>
-</para>
-
-<para>
-For example, checking that the cairo version is greater than or equal
-to 1.0.0 could be achieved at compile-time or run-time as follows:
-
-<informalexample><programlisting>
-##if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 0, 0)
-printf ("Compiling with suitable cairo version: %s\n", %CAIRO_VERSION_STRING);
-##endif
-
-if (cairo_version() >= CAIRO_VERSION_ENCODE(1, 0, 0))
-    printf ("Running with suitable cairo version: %s\n", cairo_version_string ());
-</programlisting></informalexample>
-</para>
-</refsect2>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### MACRO CAIRO_VERSION ##### -->
-<para>
-The version of cairo available at compile-time, encoded using
-CAIRO_VERSION_ENCODE().
-</para>
-
-
-
-<!-- ##### MACRO CAIRO_VERSION_MAJOR ##### -->
-<para>
-The major component of the version of cairo available at compile-time.
-</para>
-
-
-
-<!-- ##### MACRO CAIRO_VERSION_MINOR ##### -->
-<para>
-The minor component of the version of cairo available at compile-time.
-</para>
-
-
-
-<!-- ##### MACRO CAIRO_VERSION_MICRO ##### -->
-<para>
-The micro component of the version of cairo available at compile-time.
-</para>
-
-
-
-<!-- ##### MACRO CAIRO_VERSION_STRING ##### -->
-<para>
-A human-readable string literal containing the version of cairo available
-at compile-time, in the form of "X.Y.Z".
-</para>
-
-
-
-<!-- ##### MACRO CAIRO_VERSION_ENCODE ##### -->
-<para>
-This macro encodes the given cairo version into an integer.  The numbers
-returned by %CAIRO_VERSION and cairo_version() are encoded using this macro.
-Two encoded version numbers can be compared as integers.  The encoding ensures
-that later versions compare greater than earlier versions.
-</para>
-
- at major: the major component of the version number
- at minor: the minor component of the version number
- at micro: the micro component of the version number
- at Returns: the encoded version.
-
-
-<!-- ##### MACRO CAIRO_VERSION_STRINGIZE ##### -->
-<para>
-This macro encodes the given cairo version into an string.  The numbers
-returned by %CAIRO_VERSION_STRING and cairo_version_string() are encoded using this macro.
-The parameters to this macro must expand to numerical literals.
-</para>
-
- at major: the major component of the version number
- at minor: the minor component of the version number
- at micro: the micro component of the version number
- at Returns: a string literal containing the version.
- at Since: 1.8
-
-
-<!-- ##### FUNCTION cairo_version ##### -->
-<para>
-
-</para>
-
- at void: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_version_string ##### -->
-<para>
-
-</para>
-
- at void: 
- at Returns: 
-
-
diff --git a/doc/public/tmpl/cairo-win32-fonts.sgml b/doc/public/tmpl/cairo-win32-fonts.sgml
deleted file mode 100644
index a38b6ce..0000000
--- a/doc/public/tmpl/cairo-win32-fonts.sgml
+++ /dev/null
@@ -1,106 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Win32 Fonts
-
-<!-- ##### SECTION Short_Description ##### -->
-Font support for Microsoft Windows
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-The Microsoft Windows font backend is primarily used to render text on
-Microsoft Windows systems.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>#cairo_font_face_t</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### MACRO CAIRO_HAS_WIN32_FONT ##### -->
-<para>
-Defined if the Microsoft Windows font backend is available.
-This macro can be used to conditionally compile backend-specific code.
-</para>
-
-
-
-<!-- ##### FUNCTION cairo_win32_font_face_create_for_logfontw ##### -->
-<para>
-
-</para>
-
- at logfont: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_win32_font_face_create_for_hfont ##### -->
-<para>
-
-</para>
-
- at font: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_win32_font_face_create_for_logfontw_hfont ##### -->
-<para>
-
-</para>
-
- at logfont: 
- at font: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_win32_scaled_font_select_font ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
- at hdc: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_win32_scaled_font_done_font ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
-
-
-<!-- ##### FUNCTION cairo_win32_scaled_font_get_metrics_factor ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_win32_scaled_font_get_logical_to_device ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
- at logical_to_device: 
-
-
-<!-- ##### FUNCTION cairo_win32_scaled_font_get_device_to_logical ##### -->
-<para>
-
-</para>
-
- at scaled_font: 
- at device_to_logical: 
-
-
diff --git a/doc/public/tmpl/cairo-win32.sgml b/doc/public/tmpl/cairo-win32.sgml
deleted file mode 100644
index cd48725..0000000
--- a/doc/public/tmpl/cairo-win32.sgml
+++ /dev/null
@@ -1,101 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Win32 Surfaces
-
-<!-- ##### SECTION Short_Description ##### -->
-Microsoft Windows surface support
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-The Microsoft Windows surface is used to render cairo graphics to
-Microsoft Windows windows, bitmaps, and printing device contexts.
-</para>
-<para>
-The surface returned by cairo_win32_printing_surface_create() is of surface
-type %CAIRO_SURFACE_TYPE_WIN32_PRINTING and is a multi-page vector surface
-type.
-</para>
-<para>
-The surface returned by the other win32 constructors is of surface type
-%CAIRO_SURFACE_TYPE_WIN32 and is a raster surface type.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>#cairo_surface_t</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### MACRO CAIRO_HAS_WIN32_SURFACE ##### -->
-<para>
-Defined if the Microsoft Windows surface backend is available.
-This macro can be used to conditionally compile backend-specific code.
-</para>
-
-
-
-<!-- ##### FUNCTION cairo_win32_surface_create ##### -->
-<para>
-
-</para>
-
- at hdc: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_win32_surface_create_with_dib ##### -->
-<para>
-
-</para>
-
- at format: 
- at width: 
- at height: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_win32_surface_create_with_ddb ##### -->
-<para>
-
-</para>
-
- at hdc: 
- at format: 
- at width: 
- at height: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_win32_printing_surface_create ##### -->
-<para>
-
-</para>
-
- at hdc: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_win32_surface_get_dc ##### -->
-<para>
-
-</para>
-
- at surface: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_win32_surface_get_image ##### -->
-<para>
-
-</para>
-
- at surface: 
- at Returns: 
-
-
diff --git a/doc/public/tmpl/cairo-xcb-xrender.sgml b/doc/public/tmpl/cairo-xcb-xrender.sgml
deleted file mode 100644
index 993caff..0000000
--- a/doc/public/tmpl/cairo-xcb-xrender.sgml
+++ /dev/null
@@ -1,26 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-XCB Surfaces
-
-<!-- ##### SECTION Short_Description ##### -->
-X Window System rendering using the XCB library and the X Render extension
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-The XCB surface is used to render cairo graphics to X Window System
-windows and pixmaps using the XCB library and its X Render extension.
-</para>
-<para>
-Note that the XCB surface automatically takes advantage of the X Render
-extension if it is available.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>#cairo_surface_t</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
diff --git a/doc/public/tmpl/cairo-xcb.sgml b/doc/public/tmpl/cairo-xcb.sgml
deleted file mode 100644
index 845b9a1..0000000
--- a/doc/public/tmpl/cairo-xcb.sgml
+++ /dev/null
@@ -1,26 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-XCB Surfaces
-
-<!-- ##### SECTION Short_Description ##### -->
-X Window System rendering using the XCB library
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-The XCB surface is used to render cairo graphics to X Window System
-windows and pixmaps using the XCB library.
-</para>
-<para>
-Note that the XCB surface automatically takes advantage of the X render
-extension if it is available.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>#cairo_surface_t</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
diff --git a/doc/public/tmpl/cairo-xlib-xrender.sgml b/doc/public/tmpl/cairo-xlib-xrender.sgml
deleted file mode 100644
index db824a0..0000000
--- a/doc/public/tmpl/cairo-xlib-xrender.sgml
+++ /dev/null
@@ -1,60 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-XLib/XRender Backend
-
-<!-- ##### SECTION Short_Description ##### -->
-X Window System rendering using XLib and the X Render extension
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-The XLib surface is used to render cairo graphics to X Window System
-windows and pixmaps using the XLib and Xrender libraries.
-</para>
-<para>
-Note that the XLib surface automatically takes advantage of X Render extension
-if it is available.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>#cairo_surface_t</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### MACRO CAIRO_HAS_XLIB_XRENDER_SURFACE ##### -->
-<para>
-Defined if the XLib/XRender surface functions are available.
-This macro can be used to conditionally compile backend-specific code.
-</para>
-
-
-
-<!-- ##### FUNCTION cairo_xlib_surface_create_with_xrender_format ##### -->
-<para>
-
-</para>
-
- at dpy: 
- at drawable: 
- at screen: 
- at format: 
- at width: 
- at height: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_xlib_surface_get_xrender_format ##### -->
-<para>
-
-</para>
-
- at surface: 
- at Returns: 
-
-
diff --git a/doc/public/tmpl/cairo-xlib.sgml b/doc/public/tmpl/cairo-xlib.sgml
deleted file mode 100644
index 3c28c38..0000000
--- a/doc/public/tmpl/cairo-xlib.sgml
+++ /dev/null
@@ -1,147 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-XLib Surfaces
-
-<!-- ##### SECTION Short_Description ##### -->
-X Window System rendering using XLib
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-The XLib surface is used to render cairo graphics to X Window System
-windows and pixmaps using the XLib library.
-</para>
-<para>
-Note that the XLib surface automatically takes advantage of X render extension
-if it is available.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>#cairo_surface_t</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### MACRO CAIRO_HAS_XLIB_SURFACE ##### -->
-<para>
-Defined if the Xlib surface backend is available.
-This macro can be used to conditionally compile backend-specific code.
-</para>
-
-
-
-<!-- ##### FUNCTION cairo_xlib_surface_create ##### -->
-<para>
-
-</para>
-
- at dpy: 
- at drawable: 
- at visual: 
- at width: 
- at height: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_xlib_surface_create_for_bitmap ##### -->
-<para>
-
-</para>
-
- at dpy: 
- at bitmap: 
- at screen: 
- at width: 
- at height: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_xlib_surface_set_size ##### -->
-<para>
-
-</para>
-
- at surface: 
- at width: 
- at height: 
-
-
-<!-- ##### FUNCTION cairo_xlib_surface_get_display ##### -->
-<para>
-
-</para>
-
- at surface: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_xlib_surface_get_screen ##### -->
-<para>
-
-</para>
-
- at surface: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_xlib_surface_set_drawable ##### -->
-<para>
-
-</para>
-
- at surface: 
- at drawable: 
- at width: 
- at height: 
-
-
-<!-- ##### FUNCTION cairo_xlib_surface_get_drawable ##### -->
-<para>
-
-</para>
-
- at surface: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_xlib_surface_get_visual ##### -->
-<para>
-
-</para>
-
- at surface: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_xlib_surface_get_width ##### -->
-<para>
-
-</para>
-
- at surface: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_xlib_surface_get_height ##### -->
-<para>
-
-</para>
-
- at surface: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_xlib_surface_get_depth ##### -->
-<para>
-
-</para>
-
- at surface: 
- at Returns: 
-
-
diff --git a/doc/public/tmpl/cairo.sgml b/doc/public/tmpl/cairo.sgml
deleted file mode 100644
index 9c3a023..0000000
--- a/doc/public/tmpl/cairo.sgml
+++ /dev/null
@@ -1,674 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-cairo_t
-
-<!-- ##### SECTION Short_Description ##### -->
-The cairo drawing context
-
-<!-- ##### SECTION Long_Description ##### -->
-
-  <para>
-    #cairo_t is the main object used when drawing with cairo. To
-    draw with cairo, you create a #cairo_t, set the target surface,
-    and drawing options for the #cairo_t, create shapes with
-    functions like cairo_move_to() and cairo_line_to(), and then
-    draw shapes with cairo_stroke() or cairo_fill().
-  </para>
-  <para>
-    #cairo_t<!-- -->'s can be pushed to a stack via cairo_save().
-    They may then safely be changed, without loosing the current state.
-    Use cairo_restore() to restore to the saved state.
-  </para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<itemizedlist>
-<listitem>#cairo_surface_t</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### TYPEDEF cairo_t ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION cairo_create ##### -->
-<para>
-
-</para>
-
- at target: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_reference ##### -->
-<para>
-
-</para>
-
- at cr: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_destroy ##### -->
-<para>
-
-</para>
-
- at cr: 
-
-
-<!-- ##### FUNCTION cairo_status ##### -->
-<para>
-
-</para>
-
- at cr: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_save ##### -->
-<para>
-
-</para>
-
- at cr: 
-
-
-<!-- ##### FUNCTION cairo_restore ##### -->
-<para>
-
-</para>
-
- at cr: 
-
-
-<!-- ##### FUNCTION cairo_get_target ##### -->
-<para>
-
-</para>
-
- at cr: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_push_group ##### -->
-<para>
-
-</para>
-
- at cr: 
-
-
-<!-- ##### FUNCTION cairo_push_group_with_content ##### -->
-<para>
-
-</para>
-
- at cr: 
- at content: 
-
-
-<!-- ##### FUNCTION cairo_pop_group ##### -->
-<para>
-
-</para>
-
- at cr: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_pop_group_to_source ##### -->
-<para>
-
-</para>
-
- at cr: 
-
-
-<!-- ##### FUNCTION cairo_get_group_target ##### -->
-<para>
-
-</para>
-
- at cr: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_set_source_rgb ##### -->
-<para>
-
-</para>
-
- at cr: 
- at red: 
- at green: 
- at blue: 
-
-
-<!-- ##### FUNCTION cairo_set_source_rgba ##### -->
-<para>
-
-</para>
-
- at cr: 
- at red: 
- at green: 
- at blue: 
- at alpha: 
-
-
-<!-- ##### FUNCTION cairo_set_source ##### -->
-<para>
-
-</para>
-
- at cr: 
- at source: 
-
-
-<!-- ##### FUNCTION cairo_set_source_surface ##### -->
-<para>
-
-</para>
-
- at cr: 
- at surface: 
- at x: 
- at y: 
-
-
-<!-- ##### FUNCTION cairo_get_source ##### -->
-<para>
-
-</para>
-
- at cr: 
- at Returns: 
-
-
-<!-- ##### ENUM cairo_antialias_t ##### -->
-<para>
-
-</para>
-
- at CAIRO_ANTIALIAS_DEFAULT: 
- at CAIRO_ANTIALIAS_NONE: 
- at CAIRO_ANTIALIAS_GRAY: 
- at CAIRO_ANTIALIAS_SUBPIXEL: 
-
-<!-- ##### FUNCTION cairo_set_antialias ##### -->
-<para>
-
-</para>
-
- at cr: 
- at antialias: 
-
-
-<!-- ##### FUNCTION cairo_get_antialias ##### -->
-<para>
-
-</para>
-
- at cr: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_set_dash ##### -->
-<para>
-
-</para>
-
- at cr: 
- at dashes: 
- at num_dashes: 
- at offset: 
-
-
-<!-- ##### FUNCTION cairo_get_dash_count ##### -->
-<para>
-
-</para>
-
- at cr: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_get_dash ##### -->
-<para>
-
-</para>
-
- at cr: 
- at dashes: 
- at offset: 
-
-
-<!-- ##### ENUM cairo_fill_rule_t ##### -->
-<para>
-
-</para>
-
- at CAIRO_FILL_RULE_WINDING: 
- at CAIRO_FILL_RULE_EVEN_ODD: 
-
-<!-- ##### FUNCTION cairo_set_fill_rule ##### -->
-<para>
-
-</para>
-
- at cr: 
- at fill_rule: 
-
-
-<!-- ##### FUNCTION cairo_get_fill_rule ##### -->
-<para>
-
-</para>
-
- at cr: 
- at Returns: 
-
-
-<!-- ##### ENUM cairo_line_cap_t ##### -->
-<para>
-
-</para>
-
- at CAIRO_LINE_CAP_BUTT: 
- at CAIRO_LINE_CAP_ROUND: 
- at CAIRO_LINE_CAP_SQUARE: 
-
-<!-- ##### FUNCTION cairo_set_line_cap ##### -->
-<para>
-
-</para>
-
- at cr: 
- at line_cap: 
-
-
-<!-- ##### FUNCTION cairo_get_line_cap ##### -->
-<para>
-
-</para>
-
- at cr: 
- at Returns: 
-
-
-<!-- ##### ENUM cairo_line_join_t ##### -->
-<para>
-
-</para>
-
- at CAIRO_LINE_JOIN_MITER: 
- at CAIRO_LINE_JOIN_ROUND: 
- at CAIRO_LINE_JOIN_BEVEL: 
-
-<!-- ##### FUNCTION cairo_set_line_join ##### -->
-<para>
-
-</para>
-
- at cr: 
- at line_join: 
-
-
-<!-- ##### FUNCTION cairo_get_line_join ##### -->
-<para>
-
-</para>
-
- at cr: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_set_line_width ##### -->
-<para>
-
-</para>
-
- at cr: 
- at width: 
-
-
-<!-- ##### FUNCTION cairo_get_line_width ##### -->
-<para>
-
-</para>
-
- at cr: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_set_miter_limit ##### -->
-<para>
-
-</para>
-
- at cr: 
- at limit: 
-
-
-<!-- ##### FUNCTION cairo_get_miter_limit ##### -->
-<para>
-
-</para>
-
- at cr: 
- at Returns: 
-
-
-<!-- ##### ENUM cairo_operator_t ##### -->
-<para>
-
-</para>
-
- at CAIRO_OPERATOR_CLEAR: 
- at CAIRO_OPERATOR_SOURCE: 
- at CAIRO_OPERATOR_OVER: 
- at CAIRO_OPERATOR_IN: 
- at CAIRO_OPERATOR_OUT: 
- at CAIRO_OPERATOR_ATOP: 
- at CAIRO_OPERATOR_DEST: 
- at CAIRO_OPERATOR_DEST_OVER: 
- at CAIRO_OPERATOR_DEST_IN: 
- at CAIRO_OPERATOR_DEST_OUT: 
- at CAIRO_OPERATOR_DEST_ATOP: 
- at CAIRO_OPERATOR_XOR: 
- at CAIRO_OPERATOR_ADD: 
- at CAIRO_OPERATOR_SATURATE: 
- at CAIRO_OPERATOR_MULTIPLY: 
- at CAIRO_OPERATOR_SCREEN: 
- at CAIRO_OPERATOR_OVERLAY: 
- at CAIRO_OPERATOR_DARKEN: 
- at CAIRO_OPERATOR_LIGHTEN: 
- at CAIRO_OPERATOR_COLOR_DODGE: 
- at CAIRO_OPERATOR_COLOR_BURN: 
- at CAIRO_OPERATOR_HARD_LIGHT: 
- at CAIRO_OPERATOR_SOFT_LIGHT: 
- at CAIRO_OPERATOR_DIFFERENCE: 
- at CAIRO_OPERATOR_EXCLUSION: 
- at CAIRO_OPERATOR_HSL_HUE: 
- at CAIRO_OPERATOR_HSL_SATURATION: 
- at CAIRO_OPERATOR_HSL_COLOR: 
- at CAIRO_OPERATOR_HSL_LUMINOSITY: 
-
-<!-- ##### FUNCTION cairo_set_operator ##### -->
-<para>
-
-</para>
-
- at cr: 
- at op: 
-
-
-<!-- ##### FUNCTION cairo_get_operator ##### -->
-<para>
-
-</para>
-
- at cr: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_set_tolerance ##### -->
-<para>
-
-</para>
-
- at cr: 
- at tolerance: 
-
-
-<!-- ##### FUNCTION cairo_get_tolerance ##### -->
-<para>
-
-</para>
-
- at cr: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_clip ##### -->
-<para>
-
-</para>
-
- at cr: 
-
-
-<!-- ##### FUNCTION cairo_clip_preserve ##### -->
-<para>
-
-</para>
-
- at cr: 
-
-
-<!-- ##### FUNCTION cairo_clip_extents ##### -->
-<para>
-
-</para>
-
- at cr: 
- at x1: 
- at y1: 
- at x2: 
- at y2: 
-
-
-<!-- ##### FUNCTION cairo_reset_clip ##### -->
-<para>
-
-</para>
-
- at cr: 
-
-
-<!-- ##### STRUCT cairo_rectangle_t ##### -->
-<para>
-
-</para>
-
- at x: 
- at y: 
- at width: 
- at height: 
-
-<!-- ##### STRUCT cairo_rectangle_list_t ##### -->
-<para>
-
-</para>
-
- at status: 
- at rectangles: 
- at num_rectangles: 
-
-<!-- ##### FUNCTION cairo_rectangle_list_destroy ##### -->
-<para>
-
-</para>
-
- at rectangle_list: 
-
-
-<!-- ##### FUNCTION cairo_copy_clip_rectangle_list ##### -->
-<para>
-
-</para>
-
- at cr: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_fill ##### -->
-<para>
-
-</para>
-
- at cr: 
-
-
-<!-- ##### FUNCTION cairo_fill_preserve ##### -->
-<para>
-
-</para>
-
- at cr: 
-
-
-<!-- ##### FUNCTION cairo_fill_extents ##### -->
-<para>
-
-</para>
-
- at cr: 
- at x1: 
- at y1: 
- at x2: 
- at y2: 
-
-
-<!-- ##### FUNCTION cairo_in_fill ##### -->
-<para>
-
-</para>
-
- at cr: 
- at x: 
- at y: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_mask ##### -->
-<para>
-
-</para>
-
- at cr: 
- at pattern: 
-
-
-<!-- ##### FUNCTION cairo_mask_surface ##### -->
-<para>
-
-</para>
-
- at cr: 
- at surface: 
- at surface_x: 
- at surface_y: 
-
-
-<!-- ##### FUNCTION cairo_paint ##### -->
-<para>
-
-</para>
-
- at cr: 
-
-
-<!-- ##### FUNCTION cairo_paint_with_alpha ##### -->
-<para>
-
-</para>
-
- at cr: 
- at alpha: 
-
-
-<!-- ##### FUNCTION cairo_stroke ##### -->
-<para>
-
-</para>
-
- at cr: 
-
-
-<!-- ##### FUNCTION cairo_stroke_preserve ##### -->
-<para>
-
-</para>
-
- at cr: 
-
-
-<!-- ##### FUNCTION cairo_stroke_extents ##### -->
-<para>
-
-</para>
-
- at cr: 
- at x1: 
- at y1: 
- at x2: 
- at y2: 
-
-
-<!-- ##### FUNCTION cairo_in_stroke ##### -->
-<para>
-
-</para>
-
- at cr: 
- at x: 
- at y: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_copy_page ##### -->
-<para>
-
-</para>
-
- at cr: 
-
-
-<!-- ##### FUNCTION cairo_show_page ##### -->
-<para>
-
-</para>
-
- at cr: 
-
-
-<!-- ##### FUNCTION cairo_get_reference_count ##### -->
-<para>
-
-</para>
-
- at cr: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_set_user_data ##### -->
-<para>
-
-</para>
-
- at cr: 
- at key: 
- at user_data: 
- at destroy: 
- at Returns: 
-
-
-<!-- ##### FUNCTION cairo_get_user_data ##### -->
-<para>
-
-</para>
-
- at cr: 
- at key: 
- at Returns: 
-
-
diff --git a/src/cairo-beos-surface.cpp b/src/cairo-beos-surface.cpp
index c66f1aa..2e0f42c 100644
--- a/src/cairo-beos-surface.cpp
+++ b/src/cairo-beos-surface.cpp
@@ -53,6 +53,16 @@
 #include <Window.h>
 #include <Locker.h>
 
+/**
+ * SECTION:beos-surface
+ * @Title: BeOS Surfaces
+ * @Short_Description: BeOS surface support
+ * @See_Also: #cairo_surface_t
+ *
+ * The BeOS surface is used to render cairo graphics to BeOS views 
+ * and bitmaps.
+ */
+
 #define CAIRO_INT_STATUS_SUCCESS (cairo_int_status_t)(CAIRO_STATUS_SUCCESS)
 
 struct cairo_beos_surface_t {
diff --git a/src/cairo-font-face.c b/src/cairo-font-face.c
index 3d61911..a66054e 100644
--- a/src/cairo-font-face.c
+++ b/src/cairo-font-face.c
@@ -41,6 +41,23 @@
 #include "cairoint.h"
 #include "cairo-error-private.h"
 
+/**
+ * SECTION:cairo-font-face
+ * @Title: cairo_font_face_t
+ * @Short_Description: Base class for font faces
+ * @See_Also: #cairo_scaled_font_t
+ *
+ * #cairo_font_face_t represents a particular font at a particular weight,
+ * slant, and other characteristic but no size, transformation, or size.
+ * 
+ * Font faces are created using <firstterm>font-backend</firstterm>-specific
+ * constructors, typically of the form
+ * cairo_<emphasis>backend</emphasis>_font_face_create(), or implicitly
+ * using the <firstterm>toy</firstterm> text API by way of 
+ * cairo_select_font_face().  The resulting face can be accessed using
+ * cairo_get_font_face().
+ */
+
 /* #cairo_font_face_t */
 
 const cairo_font_face_t _cairo_font_face_nil = {
diff --git a/src/cairo-font-options.c b/src/cairo-font-options.c
index 971f7d5..b472a30 100644
--- a/src/cairo-font-options.c
+++ b/src/cairo-font-options.c
@@ -37,6 +37,18 @@
 #include "cairoint.h"
 #include "cairo-error-private.h"
 
+/**
+ * SECTION:cairo-font-options
+ * @Title: cairo_font_options_t
+ * @Short_Description: How a font should be rendered
+ * @See_Also: #cairo_scaled_font_t
+ *
+ * The font options specify how fonts should be rendered.  Most of the 
+ * time the font options implied by a surface are just right and do not 
+ * need any changes, but for pixel-based targets tweaking font options 
+ * may result in superior output on a particular display.
+ */
+
 static const cairo_font_options_t _cairo_font_options_nil = {
     CAIRO_ANTIALIAS_DEFAULT,
     CAIRO_SUBPIXEL_ORDER_DEFAULT,
diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c
index 77fc9dc..828c553 100644
--- a/src/cairo-ft-font.c
+++ b/src/cairo-ft-font.c
@@ -90,6 +90,31 @@
  */
 #define MAX_OPEN_FACES 10
 
+/**
+ * SECTION:cairo-ft
+ * @Title: FreeType Fonts
+ * @Short_Description: Font support for FreeType
+ * @See_Also: #cairo_font_face_t
+ *
+ * The FreeType font backend is primarily used to render text on GNU/Linux
+ * systems, but can be used on other platforms too.
+ */
+
+/**
+ * CAIRO_HAS_FT_FONT:
+ *
+ * Defined if the FreeType font backend is available.
+ * This macro can be used to conditionally compile backend-specific code.
+ */
+
+/**
+ * CAIRO_HAS_FC_FONT:
+ *
+ * Defined if the Fontconfig-specific functions of the FreeType font backend
+ * are available.
+ * This macro can be used to conditionally compile backend-specific code.
+ */
+
 /*
  * The simple 2x2 matrix is converted into separate scale and shape
  * factors so that hinting works right
diff --git a/src/cairo-image-surface.c b/src/cairo-image-surface.c
index a23ef48..383df99 100644
--- a/src/cairo-image-surface.c
+++ b/src/cairo-image-surface.c
@@ -54,6 +54,27 @@
 #define MAX_IMAGE_SIZE 32767
 #define PIXMAN_MAX_INT ((pixman_fixed_1 >> 1) - pixman_fixed_e) /* need to ensure deltas also fit */
 
+/**
+ * SECTION:cairo-image
+ * @Title: Image Surfaces
+ * @Short_Description: Rendering to memory buffers
+ * @See_Also: #cairo_surface_t
+ *
+ * Image surfaces provide the ability to render to memory buffers
+ * either allocated by cairo or by the calling code.  The supported
+ * image formats are those defined in #cairo_format_t.
+ */
+
+/**
+ * CAIRO_HAS_IMAGE_SURFACE:
+ *
+ * Defined if the image surface backend is available.
+ * The image surface backend is always built in.
+ * This macro was added for completeness in cairo 1.8.
+ *
+ * @Since: 1.8
+ */
+
 static cairo_int_status_t
 _cairo_image_surface_fill (void *dst,
 			   cairo_operator_t		 op,
diff --git a/src/cairo-matrix.c b/src/cairo-matrix.c
index 6ae8e62..2536ebf 100644
--- a/src/cairo-matrix.c
+++ b/src/cairo-matrix.c
@@ -43,6 +43,29 @@
 #define ISFINITE(x) ((x) * (x) >= 0.) /* check for NaNs */
 #endif
 
+/**
+ * SECTION:cairo-matrix
+ * @Title: cairo_matrix_t
+ * @Short_Description: Generic matrix operations
+ * @See_Also: #cairo_t
+ *
+ * #cairo_matrix_t is used throughout cairo to convert between different
+ * coordinate spaces.  A #cairo_matrix_t holds an affine transformation,
+ * such as a scale, rotation, shear, or a combination of these.
+ * The transformation of a point (<literal>x</literal>,<literal>y</literal>)
+ * is given by:
+ *
+ * <programlisting>
+ * x_new = xx * x + xy * y + x0;
+ * y_new = yx * x + yy * y + y0;
+ * </programlisting>
+ *
+ * The current transformation matrix of a #cairo_t, represented as a
+ * #cairo_matrix_t, defines the transformation from user-space
+ * coordinates to device-space coordinates. See cairo_get_matrix() and
+ * cairo_set_matrix().
+ */
+
 static void
 _cairo_matrix_scalar_multiply (cairo_matrix_t *matrix, double scalar);
 
diff --git a/src/cairo-misc.c b/src/cairo-misc.c
index 4d5e180..6037259 100644
--- a/src/cairo-misc.c
+++ b/src/cairo-misc.c
@@ -44,6 +44,26 @@
 COMPILE_TIME_ASSERT (CAIRO_STATUS_LAST_STATUS < CAIRO_INT_STATUS_UNSUPPORTED);
 COMPILE_TIME_ASSERT (CAIRO_INT_STATUS_LAST_STATUS <= 127);
 
+/**
+ * SECTION:cairo-status
+ * @Title: Error handling
+ * @Short_Description: Decoding cairo's status
+ * @See_Also: cairo_status(), cairo_surface_status(), cairo_pattern_status(),
+ *            cairo_font_face_status(), cairo_scaled_font_status(), 
+ *            cairo_region_status()
+ *
+ * Cairo uses a single status type to represent all kinds of errors.  A status
+ * value of %CAIRO_STATUS_SUCCESS represents no error and has an integer value
+ * of zero.  All other status values represent an error.
+ *
+ * Cairo's error handling is designed to be easy to use and safe.  All major
+ * cairo objects <firstterm>retain</firstterm> an error status internally which
+ * can be queried anytime by the users using cairo*_status() calls.  In
+ * the mean time, it is safe to call all cairo functions normally even if the
+ * underlying object is in an error status.  This means that no error handling
+ * code is required before or after each individual cairo function call.
+ */
+
 /* Public stuff */
 
 /**
diff --git a/src/cairo-path.c b/src/cairo-path.c
index 9840410..28182c0 100644
--- a/src/cairo-path.c
+++ b/src/cairo-path.c
@@ -41,6 +41,15 @@
 #include "cairo-path-private.h"
 #include "cairo-path-fixed-private.h"
 
+/**
+ * SECTION:cairo-paths
+ * @Title: Paths
+ * @Short_Description: Creating paths and manipulating path data
+ *
+ * Paths are the most basic drawing tools and are primarily used to implicitly
+ * generate simple masks.
+ */
+
 static const cairo_path_t _cairo_path_nil = { CAIRO_STATUS_NO_MEMORY, NULL, 0 };
 
 /* Closure for path interpretation. */
diff --git a/src/cairo-pattern.c b/src/cairo-pattern.c
index 56e3b04..d9d40a8 100644
--- a/src/cairo-pattern.c
+++ b/src/cairo-pattern.c
@@ -32,6 +32,23 @@
 #include "cairo-error-private.h"
 #include "cairo-freed-pool-private.h"
 
+/**
+ * SECTION:cairo-pattern
+ * @Title: cairo_pattern_t
+ * @Short_Description: Sources for drawing
+ * @See_Also: #cairo_t, #cairo_surface_t
+ *
+ * #cairo_pattern_t is the paint with which cairo draws.
+ * The primary use of patterns is as the source for all cairo drawing 
+ * operations, although they can also be used as masks, that is, as the 
+ * brush too.
+ *
+ * A cairo pattern is created by using one of the many constructors,
+ * of the form cairo_pattern_create_<emphasis>type</emphasis>()
+ * or implicitly through
+ * cairo_set_source_<emphasis>type</emphasis>() functions.
+ */
+
 #if HAS_FREED_POOL
 static freed_pool_t freed_pattern_pool[4];
 #endif
diff --git a/src/cairo-pdf-surface.c b/src/cairo-pdf-surface.c
index 8b49805..301ddce 100644
--- a/src/cairo-pdf-surface.c
+++ b/src/cairo-pdf-surface.c
@@ -115,6 +115,23 @@
  *   XObject instead of using an indirect object.
  */
 
+/**
+ * SECTION:cairo-pdf
+ * @Title: PDF Surfaces
+ * @Short_Description: Rendering PDF documents
+ * @See_Also: #cairo_surface_t
+ *
+ * The PDF surface is used to render cairo graphics to Adobe
+ * PDF files and is a multi-page vector surface backend.
+ */
+
+/**
+ * CAIRO_HAS_PDF_SURFACE:
+ *
+ * Defined if the PDF surface backend is available.
+ * This macro can be used to conditionally compile backend-specific code.
+ */
+
 static const cairo_pdf_version_t _cairo_pdf_versions[] =
 {
     CAIRO_PDF_VERSION_1_4,
diff --git a/src/cairo-png.c b/src/cairo-png.c
index 6a71614..8b2ff77 100644
--- a/src/cairo-png.c
+++ b/src/cairo-png.c
@@ -45,6 +45,24 @@
 #include <errno.h>
 #include <png.h>
 
+/**
+ * SECTION:cairo-png
+ * @Title: PNG Support
+ * @Short_Description: Reading and writing PNG images
+ * @See_Also: #cairo_surface_t
+ *
+ * The PNG functions allow reading PNG images into image surfaces, and writing
+ * any surface to a PNG file.
+ */
+
+/**
+ * CAIRO_HAS_PNG_FUNCTIONS:
+ *
+ * Defined if the PNG functions are available.
+ * This macro can be used to conditionally compile code using the cairo
+ * PNG functions.
+ */
+
 struct png_read_closure_t {
     cairo_read_func_t		 read_func;
     void			*closure;
diff --git a/src/cairo-ps-surface.c b/src/cairo-ps-surface.c
index 092a2df..fda4a30 100644
--- a/src/cairo-ps-surface.c
+++ b/src/cairo-ps-surface.c
@@ -88,6 +88,23 @@
 #define ctime_r(T, BUF) ctime (T)
 #endif
 
+/**
+ * SECTION:cairo-ps
+ * @Title: PostScript Surfaces
+ * @Short_Description: Rendering PostScript documents
+ * @See_Also: #cairo_surface_t
+ *
+ * The PostScript surface is used to render cairo graphics to Adobe
+ * PostScript files and is a multi-page vector surface backend.
+ */
+
+/**
+ * CAIRO_HAS_PS_SURFACE:
+ * 
+ * Defined if the PostScript surface backend is available.
+ * This macro can be used to conditionally compile backend-specific code.
+ */
+
 static const cairo_surface_backend_t cairo_ps_surface_backend;
 static const cairo_paginated_surface_backend_t cairo_ps_surface_paginated_backend;
 
diff --git a/src/cairo-quartz-font.c b/src/cairo-quartz-font.c
index 736fdc2..3bcf1e2 100644
--- a/src/cairo-quartz-font.c
+++ b/src/cairo-quartz-font.c
@@ -43,6 +43,23 @@
 
 #include "cairo-error-private.h"
 
+/**
+ * SECTION:cairo-quartz-fonts
+ * @Title: Quartz (CGFont) Fonts
+ * @Short_Description: Font support via CGFont on OS X
+ * @See_Also: #cairo_font_face_t
+ * The Quartz font backend is primarily used to render text on Apple
+ * MacOS X systems.  The CGFont API is used for the internal
+ * implementation of the font backend methods.
+ */
+
+/**
+ * CAIRO_HAS_QUARTZ_FONT:
+ *
+ * Defined if the Quartz font backend is available.
+ * This macro can be used to conditionally compile backend-specific code.
+ */
+
 /* CreateWithFontName exists in 10.5, but not in 10.4; CreateWithName isn't public in 10.4 */
 static CGFontRef (*CGFontCreateWithFontNamePtr) (CFStringRef) = NULL;
 static CGFontRef (*CGFontCreateWithNamePtr) (const char *) = NULL;
diff --git a/src/cairo-quartz-surface.c b/src/cairo-quartz-surface.c
index 6104eec..1fad0d4 100644
--- a/src/cairo-quartz-surface.c
+++ b/src/cairo-quartz-surface.c
@@ -60,6 +60,23 @@
 
 #define IS_EMPTY(s) ((s)->extents.width == 0 || (s)->extents.height == 0)
 
+/**
+ * SECTION:cairo-quartz
+ * @Title: Quartz Surfaces
+ * @Short_Description: Rendering to Quartz surfaces
+ * @See_Also: #cairo_surface_t
+ *
+ * The Quartz surface is used to render cairo graphics targeting the
+ * Apple OS X Quartz rendering system.
+ */
+
+/**
+ * CAIRO_HAS_QUARTZ_SURFACE:
+ *
+ * Defined if the Quartz surface backend is available.
+ * This macro can be used to conditionally compile backend-specific code.
+ */
+
 /* This method is private, but it exists.  Its params are are exposed
  * as args to the NS* method, but not as CG.
  */
diff --git a/src/cairo-scaled-font.c b/src/cairo-scaled-font.c
index 8ad77f5..b40e4d4 100644
--- a/src/cairo-scaled-font.c
+++ b/src/cairo-scaled-font.c
@@ -48,6 +48,16 @@
 #define ISFINITE(x) ((x) * (x) >= 0.) /* check for NaNs */
 #endif
 
+/**
+ * SECTION:cairo-scaled-font
+ * @Title: cairo_scaled_font_t
+ * @Short_Description: Font face at particular size and options
+ * @See_Also: #cairo_font_face_t, #cairo_matrix_t, #cairo_font_options_t
+ *
+ * #cairo_scaled_font_t represents a realization of a font face at a particular
+ * size and transformation and a certain set of font options.
+ */
+
 /* Global Glyph Cache
  *
  * We maintain a global pool of glyphs split between all active fonts. This
diff --git a/src/cairo-surface.c b/src/cairo-surface.c
index 8906c5f..eaee461 100644
--- a/src/cairo-surface.c
+++ b/src/cairo-surface.c
@@ -46,6 +46,21 @@
 #include "cairo-region-private.h"
 #include "cairo-tee-surface-private.h"
 
+/**
+ * SECTION:cairo-surface
+ * @Title: cairo_surface_t
+ * @Short_Description: Base class for surfaces
+ * @See_Also: #cairo_t, #cairo_pattern_t
+ *
+ * #cairo_surface_t is the abstract type representing all different drawing
+ * targets that cairo can render to.  The actual drawings are
+ * performed using a cairo <firstterm>context</firstterm>.
+ *
+ * A cairo surface is created by using <firstterm>backend</firstterm>-specific
+ * constructors, typically of the form
+ * cairo_<emphasis>backend</emphasis>_surface_create().
+ */
+
 #define DEFINE_NIL_SURFACE(status, name)			\
 const cairo_surface_t name = {					\
     NULL,				/* backend */		\
@@ -811,6 +826,38 @@ _cairo_mime_data_destroy (void *ptr)
 }
 
 /**
+ * CAIRO_MIME_TYPE_JP2:
+ *
+ * The Joint Photographic Experts Group (JPEG) 2000 image coding standard (ISO/IEC 15444-1).
+ *
+ * @Since: 1.10
+ */
+
+/**
+ * CAIRO_MIME_TYPE_JPEG:
+ *
+ * The Joint Photographic Experts Group (JPEG) image coding standard (ISO/IEC 10918-1).
+ *
+ * @Since: 1.10
+ */
+
+/**
+ * CAIRO_MIME_TYPE_PNG:
+ *
+ * The Portable Network Graphics image file format (ISO/IEC 15948).
+ *
+ * @Since: 1.10
+ */
+
+/**
+ * CAIRO_MIME_TYPE_URI:
+ *
+ * URI for an image file (unofficial MIME type).
+ *
+ * @Since: 1.10
+ */
+
+/**
  * cairo_surface_set_mime_data:
  * @surface: a #cairo_surface_t
  * @mime_type: the MIME type of the image data
diff --git a/src/cairo-svg-surface.c b/src/cairo-svg-surface.c
index 4c96a3a..5b348f3 100644
--- a/src/cairo-svg-surface.c
+++ b/src/cairo-svg-surface.c
@@ -53,6 +53,23 @@
 #include "cairo-surface-clipper-private.h"
 #include "cairo-svg-surface-private.h"
 
+/**
+ * SECTION:cairo-svg
+ * @Title: SVG Surfaces
+ * @Short_Description: Rendering SVG documents
+ * @See_Also: #cairo_surface_t
+ *
+ * The SVG surface is used to render cairo graphics to
+ * SVG files and is a multi-page vector surface backend.
+ */
+
+/**
+ * CAIRO_HAS_SVG_SURFACE:
+ *
+ * Defined if the SVG surface backend is available.
+ * This macro can be used to conditionally compile backend-specific code.
+ */
+
 typedef struct cairo_svg_page cairo_svg_page_t;
 
 static const int invalid_pattern_id = -1;
diff --git a/src/cairo-types-private.h b/src/cairo-types-private.h
index 49fc709..af46f40 100644
--- a/src/cairo-types-private.h
+++ b/src/cairo-types-private.h
@@ -44,6 +44,14 @@
 #include "cairo-list-private.h"
 #include "cairo-reference-count-private.h"
 
+/**
+ * SECTION:cairo-types
+ * @Title: Types
+ * @Short_Description: Generic data types
+ *
+ * This section lists generic data types used in the cairo API.
+ */
+
 typedef struct _cairo_array cairo_array_t;
 typedef struct _cairo_backend cairo_backend_t;
 typedef struct _cairo_boxes_t cairo_boxes_t;
diff --git a/src/cairo-user-font.c b/src/cairo-user-font.c
index 326b804..a524d58 100644
--- a/src/cairo-user-font.c
+++ b/src/cairo-user-font.c
@@ -40,6 +40,28 @@
 #include "cairo-analysis-surface-private.h"
 #include "cairo-error-private.h"
 
+/**
+ * SECTION:cairo-user-fonts
+ * @Title:User Fonts
+ * @Short_Description: Font support with font data provided by the user
+ * 
+ * The user-font feature allows the cairo user to provide drawings for glyphs
+ * in a font.  This is most useful in implementing fonts in non-standard
+ * formats, like SVG fonts and Flash fonts, but can also be used by games and
+ * other application to draw "funky" fonts.
+ */
+
+/**
+ * CAIRO_HAS_USER_FONT:
+ *
+ * Defined if the user font backend is available.
+ * This macro can be used to conditionally compile backend-specific code.
+ * The user font backend is always built in versions of cairo that support
+ * this feature (1.8 and later).
+ *
+ * @Since: 1.8
+ */
+
 typedef struct _cairo_user_scaled_font_methods {
     cairo_user_scaled_font_init_func_t			init;
     cairo_user_scaled_font_render_glyph_func_t		render_glyph;
diff --git a/src/cairo-version.c b/src/cairo-version.c
index b0a581c..2f53e11 100644
--- a/src/cairo-version.c
+++ b/src/cairo-version.c
@@ -45,6 +45,162 @@
 #include "../cairo-version.h"
 
 /**
+ * SECTION:cairo-version
+ * @Title: Version Information
+ * @Short_Description: Compile-time and run-time version checks.
+ *
+ * Cairo has a three-part version number scheme. In this scheme, we use
+ * even vs. odd numbers to distinguish fixed points in the software
+ * vs. in-progress development, (such as from git instead of a tar file,
+ * or as a "snapshot" tar file as opposed to a "release" tar file).
+ *
+ * <informalexample><programlisting>
+ *  _____ Major. Always 1, until we invent a new scheme.
+ * /  ___ Minor. Even/Odd = Release/Snapshot (tar files) or Branch/Head (git)
+ * | /  _ Micro. Even/Odd = Tar-file/git
+ * | | /
+ * 1.0.0
+ * </programlisting></informalexample>
+ *
+ * Here are a few examples of versions that one might see.
+ * <informalexample><programlisting>
+ * Releases
+ * --------
+ * 1.0.0 - A major release
+ * 1.0.2 - A subsequent maintenance release
+ * 1.2.0 - Another major release
+ *
+ * Snapshots
+ * ---------
+ * 1.1.2 - A snapshot (working toward the 1.2.0 release)
+ *
+ * In-progress development (eg. from git)
+ * --------------------------------------
+ * 1.0.1 - Development on a maintenance branch (toward 1.0.2 release)
+ * 1.1.1 - Development on head (toward 1.1.2 snapshot and 1.2.0 release)
+ * </programlisting></informalexample>
+ * </para>
+ * <refsect2>
+ * <title>Compatibility</title>
+ * <para>
+ * The API/ABI compatibility guarantees for various versions are as
+ * follows. First, let's assume some cairo-using application code that is
+ * successfully using the API/ABI "from" one version of cairo. Then let's
+ * ask the question whether this same code can be moved "to" the API/ABI
+ * of another version of cairo.
+ *
+ * Moving from a release to any later version (release, snapshot,
+ * development) is always guaranteed to provide compatibility.
+ *
+ * Moving from a snapshot to any later version is not guaranteed to
+ * provide compatibility, since snapshots may introduce new API that ends
+ * up being removed before the next release.
+ *
+ * Moving from an in-development version (odd micro component) to any
+ * later version is not guaranteed to provide compatibility. In fact,
+ * there's not even a guarantee that the code will even continue to work
+ * with the same in-development version number. This is because these
+ * numbers don't correspond to any fixed state of the software, but
+ * rather the many states between snapshots and releases.
+ * </para>
+ * </refsect2>
+ * <refsect2>
+ * <title>Examining the version</title>
+ * <para>
+ * Cairo provides the ability to examine the version at either
+ * compile-time or run-time and in both a human-readable form as well as
+ * an encoded form suitable for direct comparison. Cairo also provides the
+ * macro CAIRO_VERSION_ENCODE() to perform the encoding.
+ *
+ * <informalexample><programlisting>
+ * Compile-time
+ * ------------
+ * CAIRO_VERSION_STRING    Human-readable
+ * CAIRO_VERSION           Encoded, suitable for comparison
+ *
+ * Run-time
+ * --------
+ * cairo_version_string()  Human-readable
+ * cairo_version()         Encoded, suitable for comparison
+ * </programlisting></informalexample>
+ *
+ * For example, checking that the cairo version is greater than or equal
+ * to 1.0.0 could be achieved at compile-time or run-time as follows:
+ *
+ * <informalexample><programlisting>
+ * ##if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 0, 0)
+ * printf ("Compiling with suitable cairo version: %s\n", %CAIRO_VERSION_STRING);
+ * ##endif
+ *
+ * if (cairo_version() >= CAIRO_VERSION_ENCODE(1, 0, 0))
+ *     printf ("Running with suitable cairo version: %s\n", cairo_version_string ());
+ * </programlisting></informalexample>
+ * </para>
+ * </refsect2>
+ */
+
+/**
+ * CAIRO_VERSION:
+ *
+ * The version of cairo available at compile-time, encoded using
+ * CAIRO_VERSION_ENCODE().
+ */
+
+/**
+ * CAIRO_VERSION_MAJOR:
+ *
+ * The major component of the version of cairo available at compile-time.
+ */
+
+/**
+ * CAIRO_VERSION_MINOR:
+ *
+ * The minor component of the version of cairo available at compile-time.
+ */
+
+/**
+ * CAIRO_VERSION_MICRO:
+ *
+ * The micro component of the version of cairo available at compile-time.
+ */
+
+/**
+ * CAIRO_VERSION_STRING:
+ *
+ * A human-readable string literal containing the version of cairo available
+ * at compile-time, in the form of "X.Y.Z".
+ */
+
+/**
+ * CAIRO_VERSION_ENCODE:
+ * @major: the major component of the version number
+ * @minor: the minor component of the version number
+ * @micro: the micro component of the version number
+ * 
+ * This macro encodes the given cairo version into an integer.  The numbers
+ * returned by %CAIRO_VERSION and cairo_version() are encoded using this macro.
+ * Two encoded version numbers can be compared as integers.  The encoding ensures
+ * that later versions compare greater than earlier versions.
+ *
+ * @Returns: the encoded version.
+ */
+
+/**
+ * CAIRO_VERSION_STRINGIZE:
+ * @major: the major component of the version number
+ * @minor: the minor component of the version number
+ * @micro: the micro component of the version number
+ *
+ * This macro encodes the given cairo version into an string.  The numbers
+ * returned by %CAIRO_VERSION_STRING and cairo_version_string() are encoded using this macro.
+ * The parameters to this macro must expand to numerical literals.
+ *
+ * @Returns: a string literal containing the version.
+ *
+ * @Since: 1.8
+ */
+
+/**
  * cairo_version:
  *
  * Returns the version of the cairo library encoded in a single
diff --git a/src/cairo-win32-font.c b/src/cairo-win32-font.c
index aa4d747..479c672 100644
--- a/src/cairo-win32-font.c
+++ b/src/cairo-win32-font.c
@@ -62,6 +62,23 @@
 
 #define CMAP_TAG 0x70616d63
 
+/**
+ * SECTION:cairo-win32-fonts
+ * @Title: Win32 Fonts
+ * @Short_Description: Font support for Microsoft Windows
+ * @See_Also: #cairo_font_face_t
+ *
+ * The Microsoft Windows font backend is primarily used to render text on
+ * Microsoft Windows systems.
+ */
+
+/**
+ * CAIRO_HAS_WIN32_FONT:
+ *
+ * Defined if the Microsoft Windows font backend is available.
+ * This macro can be used to conditionally compile backend-specific code.
+ */
+
 const cairo_scaled_font_backend_t _cairo_win32_scaled_font_backend;
 
 typedef struct {
diff --git a/src/cairo-win32-surface.c b/src/cairo-win32-surface.c
index cebf83f..660aaba 100644
--- a/src/cairo-win32-surface.c
+++ b/src/cairo-win32-surface.c
@@ -74,6 +74,30 @@
 
 #define PELS_72DPI  ((LONG)(72. / 0.0254))
 
+/**
+ * SECTION:cairo-win32
+ * @Title: Win32 Surfaces
+ * @Short_Description: Microsoft Windows surface support
+ * @See_Also: #cairo_surface_t
+ *
+ * The Microsoft Windows surface is used to render cairo graphics to
+ * Microsoft Windows windows, bitmaps, and printing device contexts.
+ *
+ * The surface returned by cairo_win32_printing_surface_create() is of surface
+ * type %CAIRO_SURFACE_TYPE_WIN32_PRINTING and is a multi-page vector surface
+ * type.
+ *
+ * The surface returned by the other win32 constructors is of surface type
+ * %CAIRO_SURFACE_TYPE_WIN32 and is a raster surface type.
+ */
+
+/**
+ * CAIRO_HAS_WIN32_SURFACE:
+ *
+ * Defined if the Microsoft Windows surface backend is available.
+ * This macro can be used to conditionally compile backend-specific code.
+ */
+
 static const cairo_surface_backend_t cairo_win32_surface_backend;
 
 /**
diff --git a/src/cairo-xcb-surface-render.c b/src/cairo-xcb-surface-render.c
index a006d96..fef12ec 100644
--- a/src/cairo-xcb-surface-render.c
+++ b/src/cairo-xcb-surface-render.c
@@ -46,6 +46,19 @@
 
 #define PIXMAN_MAX_INT ((pixman_fixed_1 >> 1) - pixman_fixed_e) /* need to ensure deltas also fit */
 
+/**
+ * SECTION:cairo-xcb-xrender
+ * @Title: XCB Surfaces
+ * @Short_Description: X Window System rendering using the XCB library and the X Render extension
+ * @See_Also: #cairo_surface_t
+ *
+ * The XCB surface is used to render cairo graphics to X Window System
+ * windows and pixmaps using the XCB library and its X Render extension.
+ *
+ * Note that the XCB surface automatically takes advantage of the X Render
+ * extension if it is available.
+ */
+
 typedef struct _cairo_xcb_picture {
     cairo_surface_t base;
 
diff --git a/src/cairo-xcb-surface.c b/src/cairo-xcb-surface.c
index 60425a4..9c2d3a7 100644
--- a/src/cairo-xcb-surface.c
+++ b/src/cairo-xcb-surface.c
@@ -61,6 +61,19 @@ slim_hidden_proto (cairo_xcb_surface_create_with_xrender_format);
 #include "drm/cairo-drm-private.h"
 #endif
 
+/**
+ * SECTION:cairo-xcb
+ * @Title: XCB Surfaces
+ * @Short_Description: X Window System rendering using the XCB library
+ * @See_Also: #cairo_surface_t
+ *
+ * The XCB surface is used to render cairo graphics to X Window System
+ * windows and pixmaps using the XCB library.
+ *
+ * Note that the XCB surface automatically takes advantage of the X render
+ * extension if it is available.
+ */
+
 #if CAIRO_HAS_XCB_SHM_FUNCTIONS
 static cairo_status_t
 _cairo_xcb_surface_create_similar_shm (cairo_xcb_surface_t *other,
diff --git a/src/cairo-xlib-surface.c b/src/cairo-xlib-surface.c
index ddc745c..9235130 100644
--- a/src/cairo-xlib-surface.c
+++ b/src/cairo-xlib-surface.c
@@ -107,6 +107,46 @@ _x_bread_crumb (Display *dpy,
 #define X_DEBUG(x)
 #endif
 
+/**
+ * SECTION:cairo-xlib
+ * @Title: XLib Surfaces
+ * @Short_Description: X Window System rendering using XLib
+ * @See_Also: #cairo_surface_t
+ *
+ * The XLib surface is used to render cairo graphics to X Window System
+ * windows and pixmaps using the XLib library.
+ *
+ * Note that the XLib surface automatically takes advantage of X render extension
+ * if it is available.
+ */
+
+/**
+ * CAIRO_HAS_XLIB_SURFACE:
+ *
+ * Defined if the Xlib surface backend is available.
+ * This macro can be used to conditionally compile backend-specific code.
+ */
+
+/**
+ * SECTION:cairo-xlib-xrender
+ * @Title: XLib/XRender Backend
+ * @Short_Description: X Window System rendering using XLib and the X Render extension
+ * @See_Also: #cairo_surface_t
+ *
+ * The XLib surface is used to render cairo graphics to X Window System
+ * windows and pixmaps using the XLib and Xrender libraries.
+ *
+ * Note that the XLib surface automatically takes advantage of X Render extension
+ * if it is available.
+ */
+
+/**
+ * CAIRO_HAS_XLIB_XRENDER_SURFACE:
+ *
+ * Defined if the XLib/XRender surface functions are available.
+ * This macro can be used to conditionally compile backend-specific code.
+ */
+
 /* Xlib doesn't define a typedef, so define one ourselves */
 typedef int (*cairo_xlib_error_func_t) (Display     *display,
 					XErrorEvent *event);
diff --git a/src/cairo.c b/src/cairo.c
index 748a637..7c1c76a 100644
--- a/src/cairo.c
+++ b/src/cairo.c
@@ -43,6 +43,63 @@
 #include "cairo-error-private.h"
 #include "cairo-path-private.h"
 
+/**
+ * SECTION:cairo
+ * @Title: cairo_t
+ * @Short_Description: The cairo drawing context
+ * @See_Also: #cairo_surface_t
+ *
+ * #cairo_t is the main object used when drawing with cairo. To
+ * draw with cairo, you create a #cairo_t, set the target surface,
+ * and drawing options for the #cairo_t, create shapes with
+ * functions like cairo_move_to() and cairo_line_to(), and then
+ * draw shapes with cairo_stroke() or cairo_fill().
+ *
+ * #cairo_t<!-- -->'s can be pushed to a stack via cairo_save().
+ * They may then safely be changed, without loosing the current state.
+ * Use cairo_restore() to restore to the saved state.
+ */
+
+/**
+ * SECTION:cairo-text
+ * @Title: text
+ * @Short_Description: Rendering text and glyphs
+ * @See_Also: #cairo_font_face_t, #cairo_scaled_font_t, cairo_text_path(),
+ *            cairo_glyph_path()
+ *
+ * The functions with <emphasis>text</emphasis> in their name form cairo's
+ * <firstterm>toy</firstterm> text API.  The toy API takes UTF-8 encoded
+ * text and is limited in its functionality to rendering simple
+ * left-to-right text with no advanced features.  That means for example
+ * that most complex scripts like Hebrew, Arabic, and Indic scripts are
+ * out of question.  No kerning or correct positioning of diacritical marks
+ * either.  The font selection is pretty limited too and doesn't handle the
+ * case that the selected font does not cover the characters in the text.
+ * This set of functions are really that, a toy text API, for testing and
+ * demonstration purposes.  Any serious application should avoid them.
+ *
+ * The functions with <emphasis>glyphs</emphasis> in their name form cairo's
+ * <firstterm>low-level</firstterm> text API.  The low-level API relies on
+ * the user to convert text to a set of glyph indexes and positions.  This
+ * is a very hard problem and is best handled by external libraries, like
+ * the pangocairo that is part of the Pango text layout and rendering library.
+ * Pango is available from <ulink
+ * url="http://www.pango.org/">http://www.pango.org/</ulink>.
+ */
+
+/**
+ * SECTION:cairo-transforms
+ * @Title: Transformations
+ * @Short_Description: Manipulating the current transformation matrix
+ * @See_Also: #cairo_matrix_t
+ *
+ * The current transformation matrix, <firstterm>ctm</firstterm>, is a
+ * two-dimensional affine transformation that maps all coordinates and other
+ * drawing instruments from the <firstterm>user space</firstterm> into the
+ * surface's canonical coordinate system, also known as the <firstterm>device
+ * space</firstterm>.
+ */
+
 #define CAIRO_TOLERANCE_MINIMUM	_cairo_fixed_to_double(1)
 
 #if !defined(INFINITY)
commit 65a1e351330106ee0af9f6f0df06b82954341ee6
Author: Benjamin Otte <otte at redhat.com>
Date:   Thu Jul 8 03:28:05 2010 +0200

    doc: Remove CAIRO_FORMAT_RGB16_565 from hidden symbols list
    
    It's part of the cairo_format_t documentation now.

diff --git a/doc/public/cairo-sections.txt b/doc/public/cairo-sections.txt
index 967fb76..7e23ce0 100644
--- a/doc/public/cairo-sections.txt
+++ b/doc/public/cairo-sections.txt
@@ -622,7 +622,6 @@ cairo_set_target_xcb
 cairo_set_target_drawable
 cairo_get_status_string
 cairo_status_string
-CAIRO_FORMAT_RGB16_565
 CAIRO_FONT_TYPE_ATSUI
 cairo_atsui_font_face_create_for_atsu_font_id
 </SECTION>
commit e7594aebce6007bfa2027ba2655875db6c036e73
Author: Benjamin Otte <otte at redhat.com>
Date:   Thu Jul 8 03:21:45 2010 +0200

    doc: Fix some consistency issues that confuse gtk-doc

diff --git a/src/cairo-region.c b/src/cairo-region.c
index 85d7c09..5237df3 100644
--- a/src/cairo-region.c
+++ b/src/cairo-region.c
@@ -417,7 +417,7 @@ slim_hidden_def (cairo_region_get_rectangle);
 /**
  * cairo_region_get_extents:
  * @region: a #cairo_region_t
- * @rectangle: rectangle into which to store the extents
+ * @extents: rectangle into which to store the extents
  *
  * Gets the bounding rectangle of @region as a #cairo_rectangle_int_t
  *
@@ -773,6 +773,16 @@ cairo_region_translate (cairo_region_t *region,
 slim_hidden_def (cairo_region_translate);
 
 /**
+ * cairo_region_overlap_t:
+ * @CAIRO_REGION_OVERLAP_IN: The contents are entirely inside the region
+ * @CAIRO_REGION_OVERLAP_OUT: The contents are entirely outside the region
+ * @CAIRO_REGION_OVERLAP_PART: The contents are partially inside and
+ *     partially outside the region.
+ * 
+ * Used as the return value for cairo_region_contains_rectangle().
+ */
+
+/**
  * cairo_region_contains_rectangle:
  * @region: a #cairo_region_t
  * @rectangle: a #cairo_rectangle_int_t
@@ -840,8 +850,8 @@ slim_hidden_def (cairo_region_contains_point);
 
 /**
  * cairo_region_equal:
- * @region_a: a #cairo_region_t or %NULL
- * @region_b: a #cairo_region_t or %NULL
+ * @a: a #cairo_region_t or %NULL
+ * @b: a #cairo_region_t or %NULL
  *
  * Compares whether region_a is equivalent to region_b. %NULL as an argument
  * is equal to itself, but not to any non-%NULL region.
diff --git a/src/cairo.h b/src/cairo.h
index 94fc11f..3019222 100644
--- a/src/cairo.h
+++ b/src/cairo.h
@@ -2603,6 +2603,18 @@ cairo_matrix_transform_point (const cairo_matrix_t *matrix,
 
 typedef struct _cairo_region cairo_region_t;
 
+/**
+ * cairo_rectangle_int_t:
+ * @x: X coordinate of the left side of the rectangle
+ * @y: Y coordinate of the the top side of the rectangle
+ * @width: width of the rectangle
+ * @height: height of the rectangle
+ *
+ * A data structure for holding a rectangle with integer coordinates.
+ *
+ * Since: 1.10
+ **/
+
 typedef struct _cairo_rectangle_int {
     int x, y;
     int width, height;
@@ -2647,8 +2659,8 @@ cairo_public int
 cairo_region_num_rectangles (const cairo_region_t *region);
 
 cairo_public void
-cairo_region_get_rectangle (const cairo_region_t        *region,
-			    int                    nth_rectangle,
+cairo_region_get_rectangle (const cairo_region_t  *region,
+			    int                    nth,
 			    cairo_rectangle_int_t *rectangle);
 
 cairo_public cairo_bool_t
commit da2663a0aa1e3f0a6b2f6ae2e9952ac27dec3f5d
Author: Benjamin Otte <otte at redhat.com>
Date:   Thu Jul 8 03:14:42 2010 +0200

    doc: Add list of new symbol in Cairo 1.10

diff --git a/doc/public/cairo-docs.xml b/doc/public/cairo-docs.xml
index 7f7251e..2351f47 100644
--- a/doc/public/cairo-docs.xml
+++ b/doc/public/cairo-docs.xml
@@ -66,5 +66,8 @@
   <index id="index-1.8" role="1.8">
     <title>Index of new symbols in 1.8</title>
   </index>
+  <index id="index-1.10" role="1.10">
+    <title>Index of new symbols in 1.10</title>
+  </index>
   <xi:include href="language-bindings.xml"/>
 </book>
commit a106aa86a3267b4886f7eabdc4b07bb394e11531
Author: Benjamin Otte <otte at redhat.com>
Date:   Thu Jul 8 03:13:20 2010 +0200

    doc: add --name-space option to gtkdoc-mkdb
    
    This sorts function names in new symbols lists way better.

diff --git a/doc/public/Makefile.am b/doc/public/Makefile.am
index 535102c..a0443b3 100644
--- a/doc/public/Makefile.am
+++ b/doc/public/Makefile.am
@@ -29,7 +29,7 @@ IGNORE_HFILES= \
 	$(NULL)
 
 # Extra options to supply to gtkdoc-mkdb
-MKDB_OPTIONS=--sgml-mode --output-format=xml
+MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space=cairo
 
 # Extra options to supply to gtkdoc-mktmpl
 MKTMPL_OPTIONS=
commit 71d17e4b1f1cb83bc605d72d8419d4bfb824c828
Author: Benjamin Otte <otte at redhat.com>
Date:   Thu Jul 8 02:42:39 2010 +0200

    drm: Fix Makefile for drm_xr
    
    Use cairo_drm_xr_sources/headers for the drm_xr stuff. This makes it
    work correctly in gtk-doc instead of conditionally adding it to
    cairo_drm_sources/headers.

diff --git a/src/Makefile.sources b/src/Makefile.sources
index b824855..68befae 100644
--- a/src/Makefile.sources
+++ b/src/Makefile.sources
@@ -363,12 +363,10 @@ cairo_drm_sources = drm/cairo-drm.c \
 		    drm/cairo-drm-radeon-surface.c
 cairo_gallium_sources = drm/cairo-drm-gallium-surface.c
 
-if BUILD_DRM_XR
-cairo_drm_headers += cairo-drm-xr.h
-cairo_drm_sources += \
-		     drm/cairo-drm-xr.c \
-		     $(NULL)
-endif
+cairo_drm_xr_headers = cairo-drm-xr.h
+cairo_drm_xr_sources = \
+		    drm/cairo-drm-xr.c \
+		    $(NULL)
 
 cairo_script_headers = cairo-script.h
 cairo_script_sources = cairo-script-surface.c
commit 4b3e488cebeeace02eae1164ed12caa93d7c5847
Author: Benjamin Otte <otte at redhat.com>
Date:   Thu Jul 8 02:42:06 2010 +0200

    skia: Add cairo-skia.h as a public header

diff --git a/src/Makefile.sources b/src/Makefile.sources
index 49ea290..b824855 100644
--- a/src/Makefile.sources
+++ b/src/Makefile.sources
@@ -302,7 +302,7 @@ cairo_win32_sources = cairo-win32-surface.c cairo-win32-printing-surface.c
 
 cairo_win32_font_sources = cairo-win32-font.c
 
-cairo_skia_headers =
+cairo_skia_headers = cairo-skia.h
 cairo_skia_sources = cairo-skia-surface.cpp
 
 cairo_os2_headers = cairo-os2.h
commit 2a546286da5fe7203846d99a4a3d732c73e62db5
Author: Benjamin Otte <otte at redhat.com>
Date:   Thu Jul 8 02:20:17 2010 +0200

    doc: Add a section about regions

diff --git a/doc/public/cairo-docs.xml b/doc/public/cairo-docs.xml
index a62433d..7f7251e 100644
--- a/doc/public/cairo-docs.xml
+++ b/doc/public/cairo-docs.xml
@@ -14,6 +14,7 @@
     <xi:include href="xml/cairo.xml"/>
     <xi:include href="xml/cairo-paths.xml"/>
     <xi:include href="xml/cairo-pattern.xml"/>
+    <xi:include href="xml/cairo-region.xml"/>
     <xi:include href="xml/cairo-transforms.xml"/>
     <xi:include href="xml/cairo-text.xml"/>
   </chapter>
diff --git a/doc/public/cairo-sections.txt b/doc/public/cairo-sections.txt
index 3b99531..967fb76 100644
--- a/doc/public/cairo-sections.txt
+++ b/doc/public/cairo-sections.txt
@@ -242,6 +242,36 @@ CAIRO_VERSION_STRINGIZE_
 </SECTION>
 
 <SECTION>
+<FILE>cairo-region</FILE>
+<TITLE>cairo_region_t</TITLE>
+cairo_region_t
+cairo_region_create
+cairo_region_create_rectangle
+cairo_region_create_rectangles
+cairo_region_copy
+cairo_region_reference
+cairo_region_destroy
+cairo_region_status
+cairo_region_get_extents
+cairo_region_num_rectangles
+cairo_region_get_rectangle
+cairo_region_is_empty
+cairo_region_contains_point
+cairo_region_overlap_t
+cairo_region_contains_rectangle
+cairo_region_equal
+cairo_region_translate
+cairo_region_intersect
+cairo_region_intersect_rectangle
+cairo_region_subtract
+cairo_region_subtract_rectangle
+cairo_region_union
+cairo_region_union_rectangle
+cairo_region_xor
+cairo_region_xor_rectangle
+</SECTION>
+
+<SECTION>
 <FILE>cairo-pattern</FILE>
 <TITLE>pattern</TITLE>
 cairo_pattern_t
commit ab1f6d1af7c0e47077013edd58e93fa9fc6f2b5c
Author: Benjamin Otte <otte at redhat.com>
Date:   Thu Jul 8 01:41:27 2010 +0200

    doc: Add missing surface APIs

diff --git a/doc/public/cairo-sections.txt b/doc/public/cairo-sections.txt
index c18cade..3b99531 100644
--- a/doc/public/cairo-sections.txt
+++ b/doc/public/cairo-sections.txt
@@ -198,11 +198,13 @@ CAIRO_MIME_TYPE_URI
 cairo_surface_t
 cairo_content_t
 cairo_surface_create_similar
+cairo_surface_create_for_rectangle
 cairo_surface_reference
 cairo_surface_destroy
 cairo_surface_status
 cairo_surface_finish
 cairo_surface_flush
+cairo_surface_get_device
 cairo_surface_get_font_options
 cairo_surface_get_content
 cairo_surface_mark_dirty
commit 90bf273a38856d178e90721168b8b076f79fbf38
Author: Benjamin Otte <otte at redhat.com>
Date:   Thu Jul 8 01:39:37 2010 +0200

    doc: Add a section for cairo_device_t

diff --git a/doc/public/cairo-docs.xml b/doc/public/cairo-docs.xml
index 25bbe07..a62433d 100644
--- a/doc/public/cairo-docs.xml
+++ b/doc/public/cairo-docs.xml
@@ -29,6 +29,7 @@
   </chapter>
   <chapter id="cairo-surfaces">
     <title>Surfaces</title>
+    <xi:include href="xml/cairo-device.xml"/>
     <xi:include href="xml/cairo-surface.xml"/>
     <xi:include href="xml/cairo-image.xml"/>
     <xi:include href="xml/cairo-pdf.xml"/>
diff --git a/doc/public/cairo-sections.txt b/doc/public/cairo-sections.txt
index 95ee4b0..c18cade 100644
--- a/doc/public/cairo-sections.txt
+++ b/doc/public/cairo-sections.txt
@@ -171,6 +171,24 @@ cairo_svg_version_to_string
 </SECTION>
 
 <SECTION>
+<FILE>cairo-device</FILE>
+<TITLE>device</TITLE>
+cairo_device_t
+cairo_device_reference
+cairo_device_destroy
+cairo_device_status
+cairo_device_finish
+cairo_device_flush
+cairo_device_type_t
+cairo_device_get_type
+cairo_device_get_reference_count
+cairo_device_set_user_data
+cairo_device_get_user_data
+cairo_device_acquire
+cairo_device_release
+</SECTION>
+
+<SECTION>
 <FILE>cairo-surface</FILE>
 <TITLE>surface</TITLE>
 CAIRO_MIME_TYPE_JP2
commit 60e4f28d091df8ac6b898448eb52fae9ca920d5d
Author: Benjamin Otte <otte at redhat.com>
Date:   Thu Jul 8 01:39:07 2010 +0200

    doc: Add cairo_in_clip() to cairo_t section

diff --git a/doc/public/cairo-sections.txt b/doc/public/cairo-sections.txt
index c8493a6..95ee4b0 100644
--- a/doc/public/cairo-sections.txt
+++ b/doc/public/cairo-sections.txt
@@ -482,6 +482,7 @@ cairo_get_tolerance
 cairo_clip
 cairo_clip_preserve
 cairo_clip_extents
+cairo_in_clip
 cairo_reset_clip
 cairo_rectangle_t
 cairo_rectangle_list_t
commit 6843186b729b20acddccd36184d2c5a7b5525d2e
Author: Benjamin Otte <otte at redhat.com>
Date:   Thu Jul 8 01:38:43 2010 +0200

    doc: Add cairo_rectangle_int_t to the general types list

diff --git a/doc/public/cairo-sections.txt b/doc/public/cairo-sections.txt
index 24ae745..c8493a6 100644
--- a/doc/public/cairo-sections.txt
+++ b/doc/public/cairo-sections.txt
@@ -351,6 +351,7 @@ cairo_font_options_get_hint_metrics
 cairo_bool_t
 cairo_user_data_key_t
 cairo_destroy_func_t
+cairo_rectangle_int_t
 </SECTION>
 
 <SECTION>
commit c54dff82d3055529b7663dcff7a970cae919a9e0
Author: Benjamin Otte <otte at redhat.com>
Date:   Thu Jul 8 01:33:42 2010 +0200

    glew: The headers are private, not public

diff --git a/src/Makefile.sources b/src/Makefile.sources
index 1f12885..49ea290 100644
--- a/src/Makefile.sources
+++ b/src/Makefile.sources
@@ -207,7 +207,7 @@ cairo_sources += $(_cairo_pdf_operators_sources)
 cairo_png_sources = cairo-png.c
 
 cairo_glew_sources = glew/glew.c
-cairo_glew_headers = glew/GL/glew.h glew/GL/glxew.h
+cairo_glew_private = glew/GL/glew.h glew/GL/glxew.h
 
 cairo_ps_headers = cairo-ps.h
 cairo_ps_private = cairo-ps-surface-private.h
commit 4252e3b8f915fc23611f1a667bf7bc1bb6a21dfd
Author: Benjamin Otte <otte at redhat.com>
Date:   Thu Jul 8 01:32:25 2010 +0200

    doc: Add drm and glew to the ignored directories
    
    This reduces the number of unused symbols to a reasonable size. ;)

diff --git a/doc/public/Makefile.am b/doc/public/Makefile.am
index cc95ce2..535102c 100644
--- a/doc/public/Makefile.am
+++ b/doc/public/Makefile.am
@@ -20,6 +20,8 @@ EXTRA_HFILES=$(top_builddir)/src/cairo-supported-features.h
 
 # Headers to ignore
 IGNORE_HFILES= \
+	drm \
+	glew \
 	cairo-features.h \
 	cairo-features-win32.h \
 	$(all_cairo_private) \
commit 729d00341c26d46d82359014df97472a469e49a4
Author: Benjamin Otte <otte at redhat.com>
Date:   Thu Jul 8 13:57:43 2010 +0200

    gl: Fix compile error after rebase failure

diff --git a/src/cairo-gl-surface.c b/src/cairo-gl-surface.c
index 5b31171..a1488ab 100644
--- a/src/cairo-gl-surface.c
+++ b/src/cairo-gl-surface.c
@@ -435,7 +435,7 @@ cairo_gl_surface_create_for_texture (cairo_device_t	*abstract_device,
     surface = (cairo_gl_surface_t *)
 	_cairo_gl_surface_create_scratch_for_texture (ctx, content,
 						      tex, width, height);
-    _cairo_gl_context_release (ctx);
+    status = _cairo_gl_context_release (ctx, status);
 
     return &surface->base;
 }
commit 292423c73376a7f9b84c9e3e578c242f486e921b
Author: Colin Walters <walters at verbum.org>
Date:   Wed Jul 7 15:46:33 2010 -0400

    Support NOCONFIGURE environment variable
    
    This is taken from gnome-common; it can be convenient for builders
    to separate the autogen from the configure stage.

diff --git a/autogen.sh b/autogen.sh
index 7fd7605..3edbe81 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -187,8 +187,10 @@ cd "$ORIGDIR" || exit 1
 
 rm -f config.cache
 
-do_cmd $srcdir/configure \
+if test -z "$NOCONFIGURE"; then
+  do_cmd $srcdir/configure \
 	--cache-file=config.cache \
 	--disable-static \
 	--enable-test-surfaces \
 	${1+"$@"} && echo "Now type \`make' to compile $PROJECT." || exit 1
+fi


More information about the cairo-commit mailing list