summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/public/cairo-sections.txt4
-rw-r--r--doc/public/tmpl/.gitignore3
-rw-r--r--doc/public/tmpl/cairo-atsui.sgml21
-rw-r--r--doc/public/tmpl/cairo-beos.sgml22
-rw-r--r--doc/public/tmpl/cairo-font-face.sgml116
-rw-r--r--doc/public/tmpl/cairo-font-options.sgml199
-rw-r--r--doc/public/tmpl/cairo-ft.sgml87
-rw-r--r--doc/public/tmpl/cairo-image.sgml127
-rw-r--r--doc/public/tmpl/cairo-matrix.sgml169
-rw-r--r--doc/public/tmpl/cairo-paths.sgml263
-rw-r--r--doc/public/tmpl/cairo-pattern.sgml350
-rw-r--r--doc/public/tmpl/cairo-pdf.sgml101
-rw-r--r--doc/public/tmpl/cairo-png.sgml96
-rw-r--r--doc/public/tmpl/cairo-ps.sgml144
-rw-r--r--doc/public/tmpl/cairo-quartz-fonts.sgml52
-rw-r--r--doc/public/tmpl/cairo-quartz.sgml64
-rw-r--r--doc/public/tmpl/cairo-scaled-font.sgml227
-rw-r--r--doc/public/tmpl/cairo-status.sgml98
-rw-r--r--doc/public/tmpl/cairo-surface.sgml326
-rw-r--r--doc/public/tmpl/cairo-svg.sgml91
-rw-r--r--doc/public/tmpl/cairo-text.sgml319
-rw-r--r--doc/public/tmpl/cairo-transforms.sgml132
-rw-r--r--doc/public/tmpl/cairo-types.sgml43
-rw-r--r--doc/public/tmpl/cairo-user-fonts.sgml169
-rw-r--r--doc/public/tmpl/cairo-version.sgml205
-rw-r--r--doc/public/tmpl/cairo-win32-fonts.sgml106
-rw-r--r--doc/public/tmpl/cairo-win32.sgml101
-rw-r--r--doc/public/tmpl/cairo-xcb-xrender.sgml26
-rw-r--r--doc/public/tmpl/cairo-xcb.sgml26
-rw-r--r--doc/public/tmpl/cairo-xlib-xrender.sgml60
-rw-r--r--doc/public/tmpl/cairo-xlib.sgml147
-rw-r--r--doc/public/tmpl/cairo.sgml674
-rw-r--r--src/cairo-beos-surface.cpp10
-rw-r--r--src/cairo-font-face.c17
-rw-r--r--src/cairo-font-options.c12
-rw-r--r--src/cairo-ft-font.c25
-rw-r--r--src/cairo-image-surface.c21
-rw-r--r--src/cairo-matrix.c23
-rw-r--r--src/cairo-misc.c20
-rw-r--r--src/cairo-path.c9
-rw-r--r--src/cairo-pattern.c17
-rw-r--r--src/cairo-pdf-surface.c17
-rw-r--r--src/cairo-png.c18
-rw-r--r--src/cairo-ps-surface.c17
-rw-r--r--src/cairo-quartz-font.c17
-rw-r--r--src/cairo-quartz-surface.c17
-rw-r--r--src/cairo-scaled-font.c10
-rw-r--r--src/cairo-surface.c47
-rw-r--r--src/cairo-svg-surface.c17
-rw-r--r--src/cairo-types-private.h8
-rw-r--r--src/cairo-user-font.c22
-rw-r--r--src/cairo-version.c156
-rw-r--r--src/cairo-win32-font.c17
-rw-r--r--src/cairo-win32-surface.c24
-rw-r--r--src/cairo-xcb-surface-render.c13
-rw-r--r--src/cairo-xcb-surface.c13
-rw-r--r--src/cairo-xlib-surface.c40
-rw-r--r--src/cairo.c57
58 files changed, 666 insertions, 4566 deletions
diff --git a/doc/public/cairo-sections.txt b/doc/public/cairo-sections.txt
index 7e23ce0c..d5832aa8 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 5cc8a01e..00000000
--- 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 434bec65..00000000
--- 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 d4fbc09c..00000000
--- 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 e3c16896..00000000
--- 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>
-
-@font_face:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_font_face_destroy ##### -->
-<para>
-
-</para>
-
-@font_face:
-
-
-<!-- ##### FUNCTION cairo_font_face_status ##### -->
-<para>
-
-</para>
-
-@font_face:
-@Returns:
-
-
-<!-- ##### ENUM cairo_font_type_t ##### -->
-<para>
-
-</para>
-
-@CAIRO_FONT_TYPE_TOY:
-@CAIRO_FONT_TYPE_FT:
-@CAIRO_FONT_TYPE_WIN32:
-@CAIRO_FONT_TYPE_QUARTZ:
-@CAIRO_FONT_TYPE_USER:
-
-<!-- ##### FUNCTION cairo_font_face_get_type ##### -->
-<para>
-
-</para>
-
-@font_face:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_font_face_get_reference_count ##### -->
-<para>
-
-</para>
-
-@font_face:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_font_face_set_user_data ##### -->
-<para>
-
-</para>
-
-@font_face:
-@key:
-@user_data:
-@destroy:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_font_face_get_user_data ##### -->
-<para>
-
-</para>
-
-@font_face:
-@key:
-@Returns:
-
-
diff --git a/doc/public/tmpl/cairo-font-options.sgml b/doc/public/tmpl/cairo-font-options.sgml
deleted file mode 100644
index b0743fb6..00000000
--- 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>
-
-@void:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_font_options_copy ##### -->
-<para>
-
-</para>
-
-@original:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_font_options_destroy ##### -->
-<para>
-
-</para>
-
-@options:
-
-
-<!-- ##### FUNCTION cairo_font_options_status ##### -->
-<para>
-
-</para>
-
-@options:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_font_options_merge ##### -->
-<para>
-
-</para>
-
-@options:
-@other:
-
-
-<!-- ##### FUNCTION cairo_font_options_hash ##### -->
-<para>
-
-</para>
-
-@options:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_font_options_equal ##### -->
-<para>
-
-</para>
-
-@options:
-@other:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_font_options_set_antialias ##### -->
-<para>
-
-</para>
-
-@options:
-@antialias:
-
-
-<!-- ##### FUNCTION cairo_font_options_get_antialias ##### -->
-<para>
-
-</para>
-
-@options:
-@Returns:
-
-
-<!-- ##### ENUM cairo_subpixel_order_t ##### -->
-<para>
-
-</para>
-
-@CAIRO_SUBPIXEL_ORDER_DEFAULT:
-@CAIRO_SUBPIXEL_ORDER_RGB:
-@CAIRO_SUBPIXEL_ORDER_BGR:
-@CAIRO_SUBPIXEL_ORDER_VRGB:
-@CAIRO_SUBPIXEL_ORDER_VBGR:
-
-<!-- ##### FUNCTION cairo_font_options_set_subpixel_order ##### -->
-<para>
-
-</para>
-
-@options:
-@subpixel_order:
-
-
-<!-- ##### FUNCTION cairo_font_options_get_subpixel_order ##### -->
-<para>
-
-</para>
-
-@options:
-@Returns:
-
-
-<!-- ##### ENUM cairo_hint_style_t ##### -->
-<para>
-
-</para>
-
-@CAIRO_HINT_STYLE_DEFAULT:
-@CAIRO_HINT_STYLE_NONE:
-@CAIRO_HINT_STYLE_SLIGHT:
-@CAIRO_HINT_STYLE_MEDIUM:
-@CAIRO_HINT_STYLE_FULL:
-
-<!-- ##### FUNCTION cairo_font_options_set_hint_style ##### -->
-<para>
-
-</para>
-
-@options:
-@hint_style:
-
-
-<!-- ##### FUNCTION cairo_font_options_get_hint_style ##### -->
-<para>
-
-</para>
-
-@options:
-@Returns:
-
-
-<!-- ##### ENUM cairo_hint_metrics_t ##### -->
-<para>
-
-</para>
-
-@CAIRO_HINT_METRICS_DEFAULT:
-@CAIRO_HINT_METRICS_OFF:
-@CAIRO_HINT_METRICS_ON:
-
-<!-- ##### FUNCTION cairo_font_options_set_hint_metrics ##### -->
-<para>
-
-</para>
-
-@options:
-@hint_metrics:
-
-
-<!-- ##### FUNCTION cairo_font_options_get_hint_metrics ##### -->
-<para>
-
-</para>
-
-@options:
-@Returns:
-
-
diff --git a/doc/public/tmpl/cairo-ft.sgml b/doc/public/tmpl/cairo-ft.sgml
deleted file mode 100644
index 66a4727b..00000000
--- 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>
-
-@face:
-@load_flags:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_ft_font_face_create_for_pattern ##### -->
-<para>
-
-</para>
-
-@pattern:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_ft_font_options_substitute ##### -->
-<para>
-
-</para>
-
-@options:
-@pattern:
-
-
-<!-- ##### FUNCTION cairo_ft_scaled_font_lock_face ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_ft_scaled_font_unlock_face ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-
-
diff --git a/doc/public/tmpl/cairo-image.sgml b/doc/public/tmpl/cairo-image.sgml
deleted file mode 100644
index 68988f49..00000000
--- 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>
-
-@Since: 1.8
-
-
-<!-- ##### ENUM cairo_format_t ##### -->
-<para>
-
-</para>
-
-@CAIRO_FORMAT_INVALID:
-@CAIRO_FORMAT_ARGB32:
-@CAIRO_FORMAT_RGB24:
-@CAIRO_FORMAT_A8:
-@CAIRO_FORMAT_A1:
-@CAIRO_FORMAT_RGB16_565:
-
-<!-- ##### FUNCTION cairo_format_stride_for_width ##### -->
-<para>
-
-</para>
-
-@format:
-@width:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_image_surface_create ##### -->
-<para>
-
-</para>
-
-@format:
-@width:
-@height:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_image_surface_create_for_data ##### -->
-<para>
-
-</para>
-
-@data:
-@format:
-@width:
-@height:
-@stride:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_image_surface_get_data ##### -->
-<para>
-
-</para>
-
-@surface:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_image_surface_get_format ##### -->
-<para>
-
-</para>
-
-@surface:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_image_surface_get_width ##### -->
-<para>
-
-</para>
-
-@surface:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_image_surface_get_height ##### -->
-<para>
-
-</para>
-
-@surface:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_image_surface_get_stride ##### -->
-<para>
-
-</para>
-
-@surface:
-@Returns:
-
-
diff --git a/doc/public/tmpl/cairo-matrix.sgml b/doc/public/tmpl/cairo-matrix.sgml
deleted file mode 100644
index 09232472..00000000
--- 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>
-
-@xx:
-@yx:
-@xy:
-@yy:
-@x0:
-@y0:
-
-<!-- ##### FUNCTION cairo_matrix_init ##### -->
-<para>
-
-</para>
-
-@matrix:
-@xx:
-@yx:
-@xy:
-@yy:
-@x0:
-@y0:
-
-
-<!-- ##### FUNCTION cairo_matrix_init_identity ##### -->
-<para>
-
-</para>
-
-@matrix:
-
-
-<!-- ##### FUNCTION cairo_matrix_init_translate ##### -->
-<para>
-
-</para>
-
-@matrix:
-@tx:
-@ty:
-
-
-<!-- ##### FUNCTION cairo_matrix_init_scale ##### -->
-<para>
-
-</para>
-
-@matrix:
-@sx:
-@sy:
-
-
-<!-- ##### FUNCTION cairo_matrix_init_rotate ##### -->
-<para>
-
-</para>
-
-@matrix:
-@radians:
-
-
-<!-- ##### FUNCTION cairo_matrix_translate ##### -->
-<para>
-
-</para>
-
-@matrix:
-@tx:
-@ty:
-
-
-<!-- ##### FUNCTION cairo_matrix_scale ##### -->
-<para>
-
-</para>
-
-@matrix:
-@sx:
-@sy:
-
-
-<!-- ##### FUNCTION cairo_matrix_rotate ##### -->
-<para>
-
-</para>
-
-@matrix:
-@radians:
-
-
-<!-- ##### FUNCTION cairo_matrix_invert ##### -->
-<para>
-
-</para>
-
-@matrix:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_matrix_multiply ##### -->
-<para>
-
-</para>
-
-@result:
-@a:
-@b:
-
-
-<!-- ##### FUNCTION cairo_matrix_transform_distance ##### -->
-<para>
-
-</para>
-
-@matrix:
-@dx:
-@dy:
-
-
-<!-- ##### FUNCTION cairo_matrix_transform_point ##### -->
-<para>
-
-</para>
-
-@matrix:
-@x:
-@y:
-
-
diff --git a/doc/public/tmpl/cairo-paths.sgml b/doc/public/tmpl/cairo-paths.sgml
deleted file mode 100644
index 0bffa293..00000000
--- 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>
-
-@status:
-@data:
-@num_data:
-
-<!-- ##### UNION cairo_path_data_t ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ENUM cairo_path_data_type_t ##### -->
-<para>
-
-</para>
-
-@CAIRO_PATH_MOVE_TO:
-@CAIRO_PATH_LINE_TO:
-@CAIRO_PATH_CURVE_TO:
-@CAIRO_PATH_CLOSE_PATH:
-
-<!-- ##### FUNCTION cairo_copy_path ##### -->
-<para>
-
-</para>
-
-@cr:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_copy_path_flat ##### -->
-<para>
-
-</para>
-
-@cr:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_path_destroy ##### -->
-<para>
-
-</para>
-
-@path:
-
-
-<!-- ##### FUNCTION cairo_append_path ##### -->
-<para>
-
-</para>
-
-@cr:
-@path:
-
-
-<!-- ##### FUNCTION cairo_has_current_point ##### -->
-<para>
-
-</para>
-
-@cr:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_get_current_point ##### -->
-<para>
-
-</para>
-
-@cr:
-@x:
-@y:
-
-
-<!-- ##### FUNCTION cairo_new_path ##### -->
-<para>
-
-</para>
-
-@cr:
-
-
-<!-- ##### FUNCTION cairo_new_sub_path ##### -->
-<para>
-
-</para>
-
-@cr:
-
-
-<!-- ##### FUNCTION cairo_close_path ##### -->
-<para>
-
-</para>
-
-@cr:
-
-
-<!-- ##### FUNCTION cairo_arc ##### -->
-<para>
-
-</para>
-
-@cr:
-@xc:
-@yc:
-@radius:
-@angle1:
-@angle2:
-
-
-<!-- ##### FUNCTION cairo_arc_negative ##### -->
-<para>
-
-</para>
-
-@cr:
-@xc:
-@yc:
-@radius:
-@angle1:
-@angle2:
-
-
-<!-- ##### FUNCTION cairo_curve_to ##### -->
-<para>
-
-</para>
-
-@cr:
-@x1:
-@y1:
-@x2:
-@y2:
-@x3:
-@y3:
-
-
-<!-- ##### FUNCTION cairo_line_to ##### -->
-<para>
-
-</para>
-
-@cr:
-@x:
-@y:
-
-
-<!-- ##### FUNCTION cairo_move_to ##### -->
-<para>
-
-</para>
-
-@cr:
-@x:
-@y:
-
-
-<!-- ##### FUNCTION cairo_rectangle ##### -->
-<para>
-
-</para>
-
-@cr:
-@x:
-@y:
-@width:
-@height:
-
-
-<!-- ##### FUNCTION cairo_glyph_path ##### -->
-<para>
-
-</para>
-
-@cr:
-@glyphs:
-@num_glyphs:
-
-
-<!-- ##### FUNCTION cairo_text_path ##### -->
-<para>
-
-</para>
-
-@cr:
-@utf8:
-
-
-<!-- ##### FUNCTION cairo_rel_curve_to ##### -->
-<para>
-
-</para>
-
-@cr:
-@dx1:
-@dy1:
-@dx2:
-@dy2:
-@dx3:
-@dy3:
-
-
-<!-- ##### FUNCTION cairo_rel_line_to ##### -->
-<para>
-
-</para>
-
-@cr:
-@dx:
-@dy:
-
-
-<!-- ##### FUNCTION cairo_rel_move_to ##### -->
-<para>
-
-</para>
-
-@cr:
-@dx:
-@dy:
-
-
-<!-- ##### FUNCTION cairo_path_extents ##### -->
-<para>
-
-</para>
-
-@cr:
-@x1:
-@y1:
-@x2:
-@y2:
-
-
diff --git a/doc/public/tmpl/cairo-pattern.sgml b/doc/public/tmpl/cairo-pattern.sgml
deleted file mode 100644
index b6c2cd5f..00000000
--- 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>
-
-@pattern:
-@offset:
-@red:
-@green:
-@blue:
-
-
-<!-- ##### FUNCTION cairo_pattern_add_color_stop_rgba ##### -->
-<para>
-
-</para>
-
-@pattern:
-@offset:
-@red:
-@green:
-@blue:
-@alpha:
-
-
-<!-- ##### FUNCTION cairo_pattern_get_color_stop_count ##### -->
-<para>
-
-</para>
-
-@pattern:
-@count:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_pattern_get_color_stop_rgba ##### -->
-<para>
-
-</para>
-
-@pattern:
-@index:
-@offset:
-@red:
-@green:
-@blue:
-@alpha:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_pattern_create_rgb ##### -->
-<para>
-
-</para>
-
-@red:
-@green:
-@blue:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_pattern_create_rgba ##### -->
-<para>
-
-</para>
-
-@red:
-@green:
-@blue:
-@alpha:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_pattern_get_rgba ##### -->
-<para>
-
-</para>
-
-@pattern:
-@red:
-@green:
-@blue:
-@alpha:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_pattern_create_for_surface ##### -->
-<para>
-
-</para>
-
-@surface:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_pattern_get_surface ##### -->
-<para>
-
-</para>
-
-@pattern:
-@surface:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_pattern_create_linear ##### -->
-<para>
-
-</para>
-
-@x0:
-@y0:
-@x1:
-@y1:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_pattern_get_linear_points ##### -->
-<para>
-
-</para>
-
-@pattern:
-@x0:
-@y0:
-@x1:
-@y1:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_pattern_create_radial ##### -->
-<para>
-
-</para>
-
-@cx0:
-@cy0:
-@radius0:
-@cx1:
-@cy1:
-@radius1:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_pattern_get_radial_circles ##### -->
-<para>
-
-</para>
-
-@pattern:
-@x0:
-@y0:
-@r0:
-@x1:
-@y1:
-@r1:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_pattern_reference ##### -->
-<para>
-
-</para>
-
-@pattern:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_pattern_destroy ##### -->
-<para>
-
-</para>
-
-@pattern:
-
-
-<!-- ##### FUNCTION cairo_pattern_status ##### -->
-<para>
-
-</para>
-
-@pattern:
-@Returns:
-
-
-<!-- ##### ENUM cairo_extend_t ##### -->
-<para>
-
-</para>
-
-@CAIRO_EXTEND_NONE:
-@CAIRO_EXTEND_REPEAT:
-@CAIRO_EXTEND_REFLECT:
-@CAIRO_EXTEND_PAD:
-
-<!-- ##### FUNCTION cairo_pattern_set_extend ##### -->
-<para>
-
-</para>
-
-@pattern:
-@extend:
-
-
-<!-- ##### FUNCTION cairo_pattern_get_extend ##### -->
-<para>
-
-</para>
-
-@pattern:
-@Returns:
-
-
-<!-- ##### ENUM cairo_filter_t ##### -->
-<para>
-
-</para>
-
-@CAIRO_FILTER_FAST:
-@CAIRO_FILTER_GOOD:
-@CAIRO_FILTER_BEST:
-@CAIRO_FILTER_NEAREST:
-@CAIRO_FILTER_BILINEAR:
-@CAIRO_FILTER_GAUSSIAN:
-
-<!-- ##### FUNCTION cairo_pattern_set_filter ##### -->
-<para>
-
-</para>
-
-@pattern:
-@filter:
-
-
-<!-- ##### FUNCTION cairo_pattern_get_filter ##### -->
-<para>
-
-</para>
-
-@pattern:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_pattern_set_matrix ##### -->
-<para>
-
-</para>
-
-@pattern:
-@matrix:
-
-
-<!-- ##### FUNCTION cairo_pattern_get_matrix ##### -->
-<para>
-
-</para>
-
-@pattern:
-@matrix:
-
-
-<!-- ##### ENUM cairo_pattern_type_t ##### -->
-<para>
-
-</para>
-
-@CAIRO_PATTERN_TYPE_SOLID:
-@CAIRO_PATTERN_TYPE_SURFACE:
-@CAIRO_PATTERN_TYPE_LINEAR:
-@CAIRO_PATTERN_TYPE_RADIAL:
-
-<!-- ##### FUNCTION cairo_pattern_get_type ##### -->
-<para>
-
-</para>
-
-@pattern:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_pattern_get_reference_count ##### -->
-<para>
-
-</para>
-
-@pattern:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_pattern_set_user_data ##### -->
-<para>
-
-</para>
-
-@pattern:
-@key:
-@user_data:
-@destroy:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_pattern_get_user_data ##### -->
-<para>
-
-</para>
-
-@pattern:
-@key:
-@Returns:
-
-
diff --git a/doc/public/tmpl/cairo-pdf.sgml b/doc/public/tmpl/cairo-pdf.sgml
deleted file mode 100644
index 9cc3a6e0..00000000
--- 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>
-
-@filename:
-@width_in_points:
-@height_in_points:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_pdf_surface_create_for_stream ##### -->
-<para>
-
-</para>
-
-@write_func:
-@closure:
-@width_in_points:
-@height_in_points:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_pdf_surface_restrict_to_version ##### -->
-<para>
-
-</para>
-
-@surface:
-@version:
-
-
-<!-- ##### ENUM cairo_pdf_version_t ##### -->
-<para>
-
-</para>
-
-@CAIRO_PDF_VERSION_1_4:
-@CAIRO_PDF_VERSION_1_5:
-
-<!-- ##### FUNCTION cairo_pdf_get_versions ##### -->
-<para>
-
-</para>
-
-@versions:
-@num_versions:
-
-
-<!-- ##### FUNCTION cairo_pdf_version_to_string ##### -->
-<para>
-
-</para>
-
-@version:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_pdf_surface_set_size ##### -->
-<para>
-
-</para>
-
-@surface:
-@width_in_points:
-@height_in_points:
-
-
diff --git a/doc/public/tmpl/cairo-png.sgml b/doc/public/tmpl/cairo-png.sgml
deleted file mode 100644
index c65c3fca..00000000
--- 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>
-
-@filename:
-@Returns:
-
-
-<!-- ##### USER_FUNCTION cairo_read_func_t ##### -->
-<para>
-
-</para>
-
-@closure:
-@data:
-@length:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_image_surface_create_from_png_stream ##### -->
-<para>
-
-</para>
-
-@read_func:
-@closure:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_surface_write_to_png ##### -->
-<para>
-
-</para>
-
-@surface:
-@filename:
-@Returns:
-
-
-<!-- ##### USER_FUNCTION cairo_write_func_t ##### -->
-<para>
-
-</para>
-
-@closure:
-@data:
-@length:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_surface_write_to_png_stream ##### -->
-<para>
-
-</para>
-
-@surface:
-@write_func:
-@closure:
-@Returns:
-
-
diff --git a/doc/public/tmpl/cairo-ps.sgml b/doc/public/tmpl/cairo-ps.sgml
deleted file mode 100644
index ac8f3519..00000000
--- 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>
-
-@filename:
-@width_in_points:
-@height_in_points:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_ps_surface_create_for_stream ##### -->
-<para>
-
-</para>
-
-@write_func:
-@closure:
-@width_in_points:
-@height_in_points:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_ps_surface_restrict_to_level ##### -->
-<para>
-
-</para>
-
-@surface:
-@level:
-
-
-<!-- ##### ENUM cairo_ps_level_t ##### -->
-<para>
-
-</para>
-
-@CAIRO_PS_LEVEL_2:
-@CAIRO_PS_LEVEL_3:
-
-<!-- ##### FUNCTION cairo_ps_get_levels ##### -->
-<para>
-
-</para>
-
-@levels:
-@num_levels:
-
-
-<!-- ##### FUNCTION cairo_ps_level_to_string ##### -->
-<para>
-
-</para>
-
-@level:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_ps_surface_set_eps ##### -->
-<para>
-
-</para>
-
-@surface:
-@eps:
-
-
-<!-- ##### FUNCTION cairo_ps_surface_get_eps ##### -->
-<para>
-
-</para>
-
-@surface:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_ps_surface_set_size ##### -->
-<para>
-
-</para>
-
-@surface:
-@width_in_points:
-@height_in_points:
-
-
-<!-- ##### FUNCTION cairo_ps_surface_dsc_begin_setup ##### -->
-<para>
-
-</para>
-
-@surface:
-
-
-<!-- ##### FUNCTION cairo_ps_surface_dsc_begin_page_setup ##### -->
-<para>
-
-</para>
-
-@surface:
-
-
-<!-- ##### FUNCTION cairo_ps_surface_dsc_comment ##### -->
-<para>
-
-</para>
-
-@surface:
-@comment:
-
-
diff --git a/doc/public/tmpl/cairo-quartz-fonts.sgml b/doc/public/tmpl/cairo-quartz-fonts.sgml
deleted file mode 100644
index 4fcd4294..00000000
--- 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>
-
-@font:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_quartz_font_face_create_for_atsu_font_id ##### -->
-<para>
-
-</para>
-
-@font_id:
-@Returns:
-
-
diff --git a/doc/public/tmpl/cairo-quartz.sgml b/doc/public/tmpl/cairo-quartz.sgml
deleted file mode 100644
index 4ece8171..00000000
--- 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>
-
-@format:
-@width:
-@height:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_quartz_surface_create_for_cg_context ##### -->
-<para>
-
-</para>
-
-@cgContext:
-@width:
-@height:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_quartz_surface_get_cg_context ##### -->
-<para>
-
-</para>
-
-@surface:
-@Returns:
-
-
diff --git a/doc/public/tmpl/cairo-scaled-font.sgml b/doc/public/tmpl/cairo-scaled-font.sgml
deleted file mode 100644
index 9dd8c196..00000000
--- 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>
-
-@font_face:
-@font_matrix:
-@ctm:
-@options:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_scaled_font_reference ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_scaled_font_destroy ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-
-
-<!-- ##### FUNCTION cairo_scaled_font_status ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-@Returns:
-
-
-<!-- ##### STRUCT cairo_font_extents_t ##### -->
-<para>
-
-</para>
-
-@ascent:
-@descent:
-@height:
-@max_x_advance:
-@max_y_advance:
-
-<!-- ##### FUNCTION cairo_scaled_font_extents ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-@extents:
-
-
-<!-- ##### STRUCT cairo_text_extents_t ##### -->
-<para>
-
-</para>
-
-@x_bearing:
-@y_bearing:
-@width:
-@height:
-@x_advance:
-@y_advance:
-
-<!-- ##### FUNCTION cairo_scaled_font_text_extents ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-@utf8:
-@extents:
-
-
-<!-- ##### FUNCTION cairo_scaled_font_glyph_extents ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-@glyphs:
-@num_glyphs:
-@extents:
-
-
-<!-- ##### FUNCTION cairo_scaled_font_text_to_glyphs ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-@x:
-@y:
-@utf8:
-@utf8_len:
-@glyphs:
-@num_glyphs:
-@clusters:
-@num_clusters:
-@cluster_flags:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_scaled_font_get_font_face ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_scaled_font_get_font_options ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-@options:
-
-
-<!-- ##### FUNCTION cairo_scaled_font_get_font_matrix ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-@font_matrix:
-
-
-<!-- ##### FUNCTION cairo_scaled_font_get_ctm ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-@ctm:
-
-
-<!-- ##### FUNCTION cairo_scaled_font_get_scale_matrix ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-@scale_matrix:
-
-
-<!-- ##### FUNCTION cairo_scaled_font_get_type ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_scaled_font_get_reference_count ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_scaled_font_set_user_data ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-@key:
-@user_data:
-@destroy:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_scaled_font_get_user_data ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-@key:
-@Returns:
-
-
diff --git a/doc/public/tmpl/cairo-status.sgml b/doc/public/tmpl/cairo-status.sgml
deleted file mode 100644
index fee00c8c..00000000
--- 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>
-
-@CAIRO_STATUS_SUCCESS:
-@CAIRO_STATUS_NO_MEMORY:
-@CAIRO_STATUS_INVALID_RESTORE:
-@CAIRO_STATUS_INVALID_POP_GROUP:
-@CAIRO_STATUS_NO_CURRENT_POINT:
-@CAIRO_STATUS_INVALID_MATRIX:
-@CAIRO_STATUS_INVALID_STATUS:
-@CAIRO_STATUS_NULL_POINTER:
-@CAIRO_STATUS_INVALID_STRING:
-@CAIRO_STATUS_INVALID_PATH_DATA:
-@CAIRO_STATUS_READ_ERROR:
-@CAIRO_STATUS_WRITE_ERROR:
-@CAIRO_STATUS_SURFACE_FINISHED:
-@CAIRO_STATUS_SURFACE_TYPE_MISMATCH:
-@CAIRO_STATUS_PATTERN_TYPE_MISMATCH:
-@CAIRO_STATUS_INVALID_CONTENT:
-@CAIRO_STATUS_INVALID_FORMAT:
-@CAIRO_STATUS_INVALID_VISUAL:
-@CAIRO_STATUS_FILE_NOT_FOUND:
-@CAIRO_STATUS_INVALID_DASH:
-@CAIRO_STATUS_INVALID_DSC_COMMENT:
-@CAIRO_STATUS_INVALID_INDEX:
-@CAIRO_STATUS_CLIP_NOT_REPRESENTABLE:
-@CAIRO_STATUS_TEMP_FILE_ERROR:
-@CAIRO_STATUS_INVALID_STRIDE:
-@CAIRO_STATUS_FONT_TYPE_MISMATCH:
-@CAIRO_STATUS_USER_FONT_IMMUTABLE:
-@CAIRO_STATUS_USER_FONT_ERROR:
-@CAIRO_STATUS_NEGATIVE_COUNT:
-@CAIRO_STATUS_INVALID_CLUSTERS:
-@CAIRO_STATUS_INVALID_SLANT:
-@CAIRO_STATUS_INVALID_WEIGHT:
-@CAIRO_STATUS_INVALID_SIZE:
-@CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED:
-@CAIRO_STATUS_DEVICE_TYPE_MISMATCH:
-@CAIRO_STATUS_DEVICE_ERROR:
-@CAIRO_STATUS_LAST_STATUS:
-
-<!-- ##### FUNCTION cairo_status_to_string ##### -->
-<para>
-
-</para>
-
-@status:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_debug_reset_static_data ##### -->
-<para>
-
-</para>
-
-@void:
-
-
diff --git a/doc/public/tmpl/cairo-surface.sgml b/doc/public/tmpl/cairo-surface.sgml
deleted file mode 100644
index 645b38bc..00000000
--- 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>
-
-@CAIRO_CONTENT_COLOR:
-@CAIRO_CONTENT_ALPHA:
-@CAIRO_CONTENT_COLOR_ALPHA:
-
-<!-- ##### FUNCTION cairo_surface_create_similar ##### -->
-<para>
-
-</para>
-
-@other:
-@content:
-@width:
-@height:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_surface_reference ##### -->
-<para>
-
-</para>
-
-@surface:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_surface_destroy ##### -->
-<para>
-
-</para>
-
-@surface:
-
-
-<!-- ##### FUNCTION cairo_surface_status ##### -->
-<para>
-
-</para>
-
-@surface:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_surface_finish ##### -->
-<para>
-
-</para>
-
-@surface:
-
-
-<!-- ##### FUNCTION cairo_surface_flush ##### -->
-<para>
-
-</para>
-
-@surface:
-
-
-<!-- ##### FUNCTION cairo_surface_get_font_options ##### -->
-<para>
-
-</para>
-
-@surface:
-@options:
-
-
-<!-- ##### FUNCTION cairo_surface_get_content ##### -->
-<para>
-
-</para>
-
-@surface:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_surface_mark_dirty ##### -->
-<para>
-
-</para>
-
-@surface:
-
-
-<!-- ##### FUNCTION cairo_surface_mark_dirty_rectangle ##### -->
-<para>
-
-</para>
-
-@surface:
-@x:
-@y:
-@width:
-@height:
-
-
-<!-- ##### FUNCTION cairo_surface_set_device_offset ##### -->
-<para>
-
-</para>
-
-@surface:
-@x_offset:
-@y_offset:
-
-
-<!-- ##### FUNCTION cairo_surface_get_device_offset ##### -->
-<para>
-
-</para>
-
-@surface:
-@x_offset:
-@y_offset:
-
-
-<!-- ##### FUNCTION cairo_surface_set_fallback_resolution ##### -->
-<para>
-
-</para>
-
-@surface:
-@x_pixels_per_inch:
-@y_pixels_per_inch:
-
-
-<!-- ##### FUNCTION cairo_surface_get_fallback_resolution ##### -->
-<para>
-
-</para>
-
-@surface:
-@x_pixels_per_inch:
-@y_pixels_per_inch:
-
-
-<!-- ##### ENUM cairo_surface_type_t ##### -->
-<para>
-
-</para>
-
-@CAIRO_SURFACE_TYPE_IMAGE:
-@CAIRO_SURFACE_TYPE_PDF:
-@CAIRO_SURFACE_TYPE_PS:
-@CAIRO_SURFACE_TYPE_XLIB:
-@CAIRO_SURFACE_TYPE_XCB:
-@CAIRO_SURFACE_TYPE_GLITZ:
-@CAIRO_SURFACE_TYPE_QUARTZ:
-@CAIRO_SURFACE_TYPE_WIN32:
-@CAIRO_SURFACE_TYPE_BEOS:
-@CAIRO_SURFACE_TYPE_DIRECTFB:
-@CAIRO_SURFACE_TYPE_SVG:
-@CAIRO_SURFACE_TYPE_OS2:
-@CAIRO_SURFACE_TYPE_WIN32_PRINTING:
-@CAIRO_SURFACE_TYPE_QUARTZ_IMAGE:
-@CAIRO_SURFACE_TYPE_SCRIPT:
-@CAIRO_SURFACE_TYPE_QT:
-@CAIRO_SURFACE_TYPE_RECORDING:
-@CAIRO_SURFACE_TYPE_VG:
-@CAIRO_SURFACE_TYPE_GL:
-@CAIRO_SURFACE_TYPE_DRM:
-@CAIRO_SURFACE_TYPE_TEE:
-@CAIRO_SURFACE_TYPE_XML:
-@CAIRO_SURFACE_TYPE_SKIA:
-
-<!-- ##### FUNCTION cairo_surface_get_type ##### -->
-<para>
-
-</para>
-
-@surface:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_surface_get_reference_count ##### -->
-<para>
-
-</para>
-
-@surface:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_surface_set_user_data ##### -->
-<para>
-
-</para>
-
-@surface:
-@key:
-@user_data:
-@destroy:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_surface_get_user_data ##### -->
-<para>
-
-</para>
-
-@surface:
-@key:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_surface_copy_page ##### -->
-<para>
-
-</para>
-
-@surface:
-
-
-<!-- ##### FUNCTION cairo_surface_show_page ##### -->
-<para>
-
-</para>
-
-@surface:
-
-
-<!-- ##### FUNCTION cairo_surface_has_show_text_glyphs ##### -->
-<para>
-
-</para>
-
-@surface:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_surface_set_mime_data ##### -->
-<para>
-
-</para>
-
-@surface:
-@mime_type:
-@data:
-@length:
-@destroy:
-@closure:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_surface_get_mime_data ##### -->
-<para>
-
-</para>
-
-@surface:
-@mime_type:
-@data:
-@length:
-
-
diff --git a/doc/public/tmpl/cairo-svg.sgml b/doc/public/tmpl/cairo-svg.sgml
deleted file mode 100644
index ae7baf62..00000000
--- 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>
-
-@filename:
-@width_in_points:
-@height_in_points:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_svg_surface_create_for_stream ##### -->
-<para>
-
-</para>
-
-@write_func:
-@closure:
-@width_in_points:
-@height_in_points:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_svg_surface_restrict_to_version ##### -->
-<para>
-
-</para>
-
-@surface:
-@version:
-
-
-<!-- ##### ENUM cairo_svg_version_t ##### -->
-<para>
-
-</para>
-
-@CAIRO_SVG_VERSION_1_1:
-@CAIRO_SVG_VERSION_1_2:
-
-<!-- ##### FUNCTION cairo_svg_get_versions ##### -->
-<para>
-
-</para>
-
-@versions:
-@num_versions:
-
-
-<!-- ##### FUNCTION cairo_svg_version_to_string ##### -->
-<para>
-
-</para>
-
-@version:
-@Returns:
-
-
diff --git a/doc/public/tmpl/cairo-text.sgml b/doc/public/tmpl/cairo-text.sgml
deleted file mode 100644
index caeb3c00..00000000
--- 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>
-
-@index:
-@x:
-@y:
-
-<!-- ##### ENUM cairo_font_slant_t ##### -->
-<para>
-
-</para>
-
-@CAIRO_FONT_SLANT_NORMAL:
-@CAIRO_FONT_SLANT_ITALIC:
-@CAIRO_FONT_SLANT_OBLIQUE:
-
-<!-- ##### ENUM cairo_font_weight_t ##### -->
-<para>
-
-</para>
-
-@CAIRO_FONT_WEIGHT_NORMAL:
-@CAIRO_FONT_WEIGHT_BOLD:
-
-<!-- ##### STRUCT cairo_text_cluster_t ##### -->
-<para>
-
-</para>
-
-@num_bytes:
-@num_glyphs:
-
-<!-- ##### ENUM cairo_text_cluster_flags_t ##### -->
-<para>
-
-</para>
-
-@CAIRO_TEXT_CLUSTER_FLAG_BACKWARD:
-
-<!-- ##### FUNCTION cairo_select_font_face ##### -->
-<para>
-
-</para>
-
-@cr:
-@family:
-@slant:
-@weight:
-
-
-<!-- ##### FUNCTION cairo_set_font_size ##### -->
-<para>
-
-</para>
-
-@cr:
-@size:
-
-
-<!-- ##### FUNCTION cairo_set_font_matrix ##### -->
-<para>
-
-</para>
-
-@cr:
-@matrix:
-
-
-<!-- ##### FUNCTION cairo_get_font_matrix ##### -->
-<para>
-
-</para>
-
-@cr:
-@matrix:
-
-
-<!-- ##### FUNCTION cairo_set_font_options ##### -->
-<para>
-
-</para>
-
-@cr:
-@options:
-
-
-<!-- ##### FUNCTION cairo_get_font_options ##### -->
-<para>
-
-</para>
-
-@cr:
-@options:
-
-
-<!-- ##### FUNCTION cairo_set_font_face ##### -->
-<para>
-
-</para>
-
-@cr:
-@font_face:
-
-
-<!-- ##### FUNCTION cairo_get_font_face ##### -->
-<para>
-
-</para>
-
-@cr:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_set_scaled_font ##### -->
-<para>
-
-</para>
-
-@cr:
-@scaled_font:
-
-
-<!-- ##### FUNCTION cairo_get_scaled_font ##### -->
-<para>
-
-</para>
-
-@cr:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_show_text ##### -->
-<para>
-
-</para>
-
-@cr:
-@utf8:
-
-
-<!-- ##### FUNCTION cairo_show_glyphs ##### -->
-<para>
-
-</para>
-
-@cr:
-@glyphs:
-@num_glyphs:
-
-
-<!-- ##### FUNCTION cairo_show_text_glyphs ##### -->
-<para>
-
-</para>
-
-@cr:
-@utf8:
-@utf8_len:
-@glyphs:
-@num_glyphs:
-@clusters:
-@num_clusters:
-@cluster_flags:
-
-
-<!-- ##### FUNCTION cairo_font_extents ##### -->
-<para>
-
-</para>
-
-@cr:
-@extents:
-
-
-<!-- ##### FUNCTION cairo_text_extents ##### -->
-<para>
-
-</para>
-
-@cr:
-@utf8:
-@extents:
-
-
-<!-- ##### FUNCTION cairo_glyph_extents ##### -->
-<para>
-
-</para>
-
-@cr:
-@glyphs:
-@num_glyphs:
-@extents:
-
-
-<!-- ##### FUNCTION cairo_toy_font_face_create ##### -->
-<para>
-
-</para>
-
-@family:
-@slant:
-@weight:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_toy_font_face_get_family ##### -->
-<para>
-
-</para>
-
-@font_face:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_toy_font_face_get_slant ##### -->
-<para>
-
-</para>
-
-@font_face:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_toy_font_face_get_weight ##### -->
-<para>
-
-</para>
-
-@font_face:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_glyph_allocate ##### -->
-<para>
-
-</para>
-
-@num_glyphs:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_glyph_free ##### -->
-<para>
-
-</para>
-
-@glyphs:
-
-
-<!-- ##### FUNCTION cairo_text_cluster_allocate ##### -->
-<para>
-
-</para>
-
-@num_clusters:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_text_cluster_free ##### -->
-<para>
-
-</para>
-
-@clusters:
-
-
diff --git a/doc/public/tmpl/cairo-transforms.sgml b/doc/public/tmpl/cairo-transforms.sgml
deleted file mode 100644
index 95f887d8..00000000
--- 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>
-
-@cr:
-@tx:
-@ty:
-
-
-<!-- ##### FUNCTION cairo_scale ##### -->
-<para>
-
-</para>
-
-@cr:
-@sx:
-@sy:
-
-
-<!-- ##### FUNCTION cairo_rotate ##### -->
-<para>
-
-</para>
-
-@cr:
-@angle:
-
-
-<!-- ##### FUNCTION cairo_transform ##### -->
-<para>
-
-</para>
-
-@cr:
-@matrix:
-
-
-<!-- ##### FUNCTION cairo_set_matrix ##### -->
-<para>
-
-</para>
-
-@cr:
-@matrix:
-
-
-<!-- ##### FUNCTION cairo_get_matrix ##### -->
-<para>
-
-</para>
-
-@cr:
-@matrix:
-
-
-<!-- ##### FUNCTION cairo_identity_matrix ##### -->
-<para>
-
-</para>
-
-@cr:
-
-
-<!-- ##### FUNCTION cairo_user_to_device ##### -->
-<para>
-
-</para>
-
-@cr:
-@x:
-@y:
-
-
-<!-- ##### FUNCTION cairo_user_to_device_distance ##### -->
-<para>
-
-</para>
-
-@cr:
-@dx:
-@dy:
-
-
-<!-- ##### FUNCTION cairo_device_to_user ##### -->
-<para>
-
-</para>
-
-@cr:
-@x:
-@y:
-
-
-<!-- ##### FUNCTION cairo_device_to_user_distance ##### -->
-<para>
-
-</para>
-
-@cr:
-@dx:
-@dy:
-
-
diff --git a/doc/public/tmpl/cairo-types.sgml b/doc/public/tmpl/cairo-types.sgml
deleted file mode 100644
index a5c9ecd9..00000000
--- 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>
-
-@unused:
-
-<!-- ##### USER_FUNCTION cairo_destroy_func_t ##### -->
-<para>
-
-</para>
-
-@data:
-
-
diff --git a/doc/public/tmpl/cairo-user-fonts.sgml b/doc/public/tmpl/cairo-user-fonts.sgml
deleted file mode 100644
index 53b15c90..00000000
--- 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>
-
-@Since: 1.8
-
-
-<!-- ##### USER_FUNCTION cairo_user_scaled_font_init_func_t ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-@cr:
-@extents:
-@Returns:
-
-
-<!-- ##### USER_FUNCTION cairo_user_scaled_font_render_glyph_func_t ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-@glyph:
-@cr:
-@extents:
-@Returns:
-
-
-<!-- ##### USER_FUNCTION cairo_user_scaled_font_text_to_glyphs_func_t ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-@utf8:
-@utf8_len:
-@glyphs:
-@num_glyphs:
-@clusters:
-@num_clusters:
-@cluster_flags:
-@Returns:
-
-
-<!-- ##### USER_FUNCTION cairo_user_scaled_font_unicode_to_glyph_func_t ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-@unicode:
-@glyph_index:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_user_font_face_create ##### -->
-<para>
-
-</para>
-
-@void:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_user_font_face_set_init_func ##### -->
-<para>
-
-</para>
-
-@font_face:
-@init_func:
-
-
-<!-- ##### FUNCTION cairo_user_font_face_get_init_func ##### -->
-<para>
-
-</para>
-
-@font_face:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_user_font_face_set_render_glyph_func ##### -->
-<para>
-
-</para>
-
-@font_face:
-@render_glyph_func:
-
-
-<!-- ##### FUNCTION cairo_user_font_face_get_render_glyph_func ##### -->
-<para>
-
-</para>
-
-@font_face:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_user_font_face_set_unicode_to_glyph_func ##### -->
-<para>
-
-</para>
-
-@font_face:
-@unicode_to_glyph_func:
-
-
-<!-- ##### FUNCTION cairo_user_font_face_get_unicode_to_glyph_func ##### -->
-<para>
-
-</para>
-
-@font_face:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_user_font_face_set_text_to_glyphs_func ##### -->
-<para>
-
-</para>
-
-@font_face:
-@text_to_glyphs_func:
-
-
-<!-- ##### FUNCTION cairo_user_font_face_get_text_to_glyphs_func ##### -->
-<para>
-
-</para>
-
-@font_face:
-@Returns:
-
-
diff --git a/doc/public/tmpl/cairo-version.sgml b/doc/public/tmpl/cairo-version.sgml
deleted file mode 100644
index 79828b8c..00000000
--- 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>
-
-@major: the major component of the version number
-@minor: the minor component of the version number
-@micro: the micro component of the version number
-@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>
-
-@major: the major component of the version number
-@minor: the minor component of the version number
-@micro: the micro component of the version number
-@Returns: a string literal containing the version.
-@Since: 1.8
-
-
-<!-- ##### FUNCTION cairo_version ##### -->
-<para>
-
-</para>
-
-@void:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_version_string ##### -->
-<para>
-
-</para>
-
-@void:
-@Returns:
-
-
diff --git a/doc/public/tmpl/cairo-win32-fonts.sgml b/doc/public/tmpl/cairo-win32-fonts.sgml
deleted file mode 100644
index a38b6ce1..00000000
--- 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>
-
-@logfont:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_win32_font_face_create_for_hfont ##### -->
-<para>
-
-</para>
-
-@font:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_win32_font_face_create_for_logfontw_hfont ##### -->
-<para>
-
-</para>
-
-@logfont:
-@font:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_win32_scaled_font_select_font ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-@hdc:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_win32_scaled_font_done_font ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-
-
-<!-- ##### FUNCTION cairo_win32_scaled_font_get_metrics_factor ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_win32_scaled_font_get_logical_to_device ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-@logical_to_device:
-
-
-<!-- ##### FUNCTION cairo_win32_scaled_font_get_device_to_logical ##### -->
-<para>
-
-</para>
-
-@scaled_font:
-@device_to_logical:
-
-
diff --git a/doc/public/tmpl/cairo-win32.sgml b/doc/public/tmpl/cairo-win32.sgml
deleted file mode 100644
index cd487256..00000000
--- 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>
-
-@hdc:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_win32_surface_create_with_dib ##### -->
-<para>
-
-</para>
-
-@format:
-@width:
-@height:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_win32_surface_create_with_ddb ##### -->
-<para>
-
-</para>
-
-@hdc:
-@format:
-@width:
-@height:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_win32_printing_surface_create ##### -->
-<para>
-
-</para>
-
-@hdc:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_win32_surface_get_dc ##### -->
-<para>
-
-</para>
-
-@surface:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_win32_surface_get_image ##### -->
-<para>
-
-</para>
-
-@surface:
-@Returns:
-
-
diff --git a/doc/public/tmpl/cairo-xcb-xrender.sgml b/doc/public/tmpl/cairo-xcb-xrender.sgml
deleted file mode 100644
index 993caff4..00000000
--- 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 845b9a14..00000000
--- 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 db824a04..00000000
--- 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>
-
-@dpy:
-@drawable:
-@screen:
-@format:
-@width:
-@height:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_xlib_surface_get_xrender_format ##### -->
-<para>
-
-</para>
-
-@surface:
-@Returns:
-
-
diff --git a/doc/public/tmpl/cairo-xlib.sgml b/doc/public/tmpl/cairo-xlib.sgml
deleted file mode 100644
index 3c28c386..00000000
--- 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>
-
-@dpy:
-@drawable:
-@visual:
-@width:
-@height:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_xlib_surface_create_for_bitmap ##### -->
-<para>
-
-</para>
-
-@dpy:
-@bitmap:
-@screen:
-@width:
-@height:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_xlib_surface_set_size ##### -->
-<para>
-
-</para>
-
-@surface:
-@width:
-@height:
-
-
-<!-- ##### FUNCTION cairo_xlib_surface_get_display ##### -->
-<para>
-
-</para>
-
-@surface:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_xlib_surface_get_screen ##### -->
-<para>
-
-</para>
-
-@surface:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_xlib_surface_set_drawable ##### -->
-<para>
-
-</para>
-
-@surface:
-@drawable:
-@width:
-@height:
-
-
-<!-- ##### FUNCTION cairo_xlib_surface_get_drawable ##### -->
-<para>
-
-</para>
-
-@surface:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_xlib_surface_get_visual ##### -->
-<para>
-
-</para>
-
-@surface:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_xlib_surface_get_width ##### -->
-<para>
-
-</para>
-
-@surface:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_xlib_surface_get_height ##### -->
-<para>
-
-</para>
-
-@surface:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_xlib_surface_get_depth ##### -->
-<para>
-
-</para>
-
-@surface:
-@Returns:
-
-
diff --git a/doc/public/tmpl/cairo.sgml b/doc/public/tmpl/cairo.sgml
deleted file mode 100644
index 9c3a0231..00000000
--- 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>
-
-@target:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_reference ##### -->
-<para>
-
-</para>
-
-@cr:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_destroy ##### -->
-<para>
-
-</para>
-
-@cr:
-
-
-<!-- ##### FUNCTION cairo_status ##### -->
-<para>
-
-</para>
-
-@cr:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_save ##### -->
-<para>
-
-</para>
-
-@cr:
-
-
-<!-- ##### FUNCTION cairo_restore ##### -->
-<para>
-
-</para>
-
-@cr:
-
-
-<!-- ##### FUNCTION cairo_get_target ##### -->
-<para>
-
-</para>
-
-@cr:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_push_group ##### -->
-<para>
-
-</para>
-
-@cr:
-
-
-<!-- ##### FUNCTION cairo_push_group_with_content ##### -->
-<para>
-
-</para>
-
-@cr:
-@content:
-
-
-<!-- ##### FUNCTION cairo_pop_group ##### -->
-<para>
-
-</para>
-
-@cr:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_pop_group_to_source ##### -->
-<para>
-
-</para>
-
-@cr:
-
-
-<!-- ##### FUNCTION cairo_get_group_target ##### -->
-<para>
-
-</para>
-
-@cr:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_set_source_rgb ##### -->
-<para>
-
-</para>
-
-@cr:
-@red:
-@green:
-@blue:
-
-
-<!-- ##### FUNCTION cairo_set_source_rgba ##### -->
-<para>
-
-</para>
-
-@cr:
-@red:
-@green:
-@blue:
-@alpha:
-
-
-<!-- ##### FUNCTION cairo_set_source ##### -->
-<para>
-
-</para>
-
-@cr:
-@source:
-
-
-<!-- ##### FUNCTION cairo_set_source_surface ##### -->
-<para>
-
-</para>
-
-@cr:
-@surface:
-@x:
-@y:
-
-
-<!-- ##### FUNCTION cairo_get_source ##### -->
-<para>
-
-</para>
-
-@cr:
-@Returns:
-
-
-<!-- ##### ENUM cairo_antialias_t ##### -->
-<para>
-
-</para>
-
-@CAIRO_ANTIALIAS_DEFAULT:
-@CAIRO_ANTIALIAS_NONE:
-@CAIRO_ANTIALIAS_GRAY:
-@CAIRO_ANTIALIAS_SUBPIXEL:
-
-<!-- ##### FUNCTION cairo_set_antialias ##### -->
-<para>
-
-</para>
-
-@cr:
-@antialias:
-
-
-<!-- ##### FUNCTION cairo_get_antialias ##### -->
-<para>
-
-</para>
-
-@cr:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_set_dash ##### -->
-<para>
-
-</para>
-
-@cr:
-@dashes:
-@num_dashes:
-@offset:
-
-
-<!-- ##### FUNCTION cairo_get_dash_count ##### -->
-<para>
-
-</para>
-
-@cr:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_get_dash ##### -->
-<para>
-
-</para>
-
-@cr:
-@dashes:
-@offset:
-
-
-<!-- ##### ENUM cairo_fill_rule_t ##### -->
-<para>
-
-</para>
-
-@CAIRO_FILL_RULE_WINDING:
-@CAIRO_FILL_RULE_EVEN_ODD:
-
-<!-- ##### FUNCTION cairo_set_fill_rule ##### -->
-<para>
-
-</para>
-
-@cr:
-@fill_rule:
-
-
-<!-- ##### FUNCTION cairo_get_fill_rule ##### -->
-<para>
-
-</para>
-
-@cr:
-@Returns:
-
-
-<!-- ##### ENUM cairo_line_cap_t ##### -->
-<para>
-
-</para>
-
-@CAIRO_LINE_CAP_BUTT:
-@CAIRO_LINE_CAP_ROUND:
-@CAIRO_LINE_CAP_SQUARE:
-
-<!-- ##### FUNCTION cairo_set_line_cap ##### -->
-<para>
-
-</para>
-
-@cr:
-@line_cap:
-
-
-<!-- ##### FUNCTION cairo_get_line_cap ##### -->
-<para>
-
-</para>
-
-@cr:
-@Returns:
-
-
-<!-- ##### ENUM cairo_line_join_t ##### -->
-<para>
-
-</para>
-
-@CAIRO_LINE_JOIN_MITER:
-@CAIRO_LINE_JOIN_ROUND:
-@CAIRO_LINE_JOIN_BEVEL:
-
-<!-- ##### FUNCTION cairo_set_line_join ##### -->
-<para>
-
-</para>
-
-@cr:
-@line_join:
-
-
-<!-- ##### FUNCTION cairo_get_line_join ##### -->
-<para>
-
-</para>
-
-@cr:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_set_line_width ##### -->
-<para>
-
-</para>
-
-@cr:
-@width:
-
-
-<!-- ##### FUNCTION cairo_get_line_width ##### -->
-<para>
-
-</para>
-
-@cr:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_set_miter_limit ##### -->
-<para>
-
-</para>
-
-@cr:
-@limit:
-
-
-<!-- ##### FUNCTION cairo_get_miter_limit ##### -->
-<para>
-
-</para>
-
-@cr:
-@Returns:
-
-
-<!-- ##### ENUM cairo_operator_t ##### -->
-<para>
-
-</para>
-
-@CAIRO_OPERATOR_CLEAR:
-@CAIRO_OPERATOR_SOURCE:
-@CAIRO_OPERATOR_OVER:
-@CAIRO_OPERATOR_IN:
-@CAIRO_OPERATOR_OUT:
-@CAIRO_OPERATOR_ATOP:
-@CAIRO_OPERATOR_DEST:
-@CAIRO_OPERATOR_DEST_OVER:
-@CAIRO_OPERATOR_DEST_IN:
-@CAIRO_OPERATOR_DEST_OUT:
-@CAIRO_OPERATOR_DEST_ATOP:
-@CAIRO_OPERATOR_XOR:
-@CAIRO_OPERATOR_ADD:
-@CAIRO_OPERATOR_SATURATE:
-@CAIRO_OPERATOR_MULTIPLY:
-@CAIRO_OPERATOR_SCREEN:
-@CAIRO_OPERATOR_OVERLAY:
-@CAIRO_OPERATOR_DARKEN:
-@CAIRO_OPERATOR_LIGHTEN:
-@CAIRO_OPERATOR_COLOR_DODGE:
-@CAIRO_OPERATOR_COLOR_BURN:
-@CAIRO_OPERATOR_HARD_LIGHT:
-@CAIRO_OPERATOR_SOFT_LIGHT:
-@CAIRO_OPERATOR_DIFFERENCE:
-@CAIRO_OPERATOR_EXCLUSION:
-@CAIRO_OPERATOR_HSL_HUE:
-@CAIRO_OPERATOR_HSL_SATURATION:
-@CAIRO_OPERATOR_HSL_COLOR:
-@CAIRO_OPERATOR_HSL_LUMINOSITY:
-
-<!-- ##### FUNCTION cairo_set_operator ##### -->
-<para>
-
-</para>
-
-@cr:
-@op:
-
-
-<!-- ##### FUNCTION cairo_get_operator ##### -->
-<para>
-
-</para>
-
-@cr:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_set_tolerance ##### -->
-<para>
-
-</para>
-
-@cr:
-@tolerance:
-
-
-<!-- ##### FUNCTION cairo_get_tolerance ##### -->
-<para>
-
-</para>
-
-@cr:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_clip ##### -->
-<para>
-
-</para>
-
-@cr:
-
-
-<!-- ##### FUNCTION cairo_clip_preserve ##### -->
-<para>
-
-</para>
-
-@cr:
-
-
-<!-- ##### FUNCTION cairo_clip_extents ##### -->
-<para>
-
-</para>
-
-@cr:
-@x1:
-@y1:
-@x2:
-@y2:
-
-
-<!-- ##### FUNCTION cairo_reset_clip ##### -->
-<para>
-
-</para>
-
-@cr:
-
-
-<!-- ##### STRUCT cairo_rectangle_t ##### -->
-<para>
-
-</para>
-
-@x:
-@y:
-@width:
-@height:
-
-<!-- ##### STRUCT cairo_rectangle_list_t ##### -->
-<para>
-
-</para>
-
-@status:
-@rectangles:
-@num_rectangles:
-
-<!-- ##### FUNCTION cairo_rectangle_list_destroy ##### -->
-<para>
-
-</para>
-
-@rectangle_list:
-
-
-<!-- ##### FUNCTION cairo_copy_clip_rectangle_list ##### -->
-<para>
-
-</para>
-
-@cr:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_fill ##### -->
-<para>
-
-</para>
-
-@cr:
-
-
-<!-- ##### FUNCTION cairo_fill_preserve ##### -->
-<para>
-
-</para>
-
-@cr:
-
-
-<!-- ##### FUNCTION cairo_fill_extents ##### -->
-<para>
-
-</para>
-
-@cr:
-@x1:
-@y1:
-@x2:
-@y2:
-
-
-<!-- ##### FUNCTION cairo_in_fill ##### -->
-<para>
-
-</para>
-
-@cr:
-@x:
-@y:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_mask ##### -->
-<para>
-
-</para>
-
-@cr:
-@pattern:
-
-
-<!-- ##### FUNCTION cairo_mask_surface ##### -->
-<para>
-
-</para>
-
-@cr:
-@surface:
-@surface_x:
-@surface_y:
-
-
-<!-- ##### FUNCTION cairo_paint ##### -->
-<para>
-
-</para>
-
-@cr:
-
-
-<!-- ##### FUNCTION cairo_paint_with_alpha ##### -->
-<para>
-
-</para>
-
-@cr:
-@alpha:
-
-
-<!-- ##### FUNCTION cairo_stroke ##### -->
-<para>
-
-</para>
-
-@cr:
-
-
-<!-- ##### FUNCTION cairo_stroke_preserve ##### -->
-<para>
-
-</para>
-
-@cr:
-
-
-<!-- ##### FUNCTION cairo_stroke_extents ##### -->
-<para>
-
-</para>
-
-@cr:
-@x1:
-@y1:
-@x2:
-@y2:
-
-
-<!-- ##### FUNCTION cairo_in_stroke ##### -->
-<para>
-
-</para>
-
-@cr:
-@x:
-@y:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_copy_page ##### -->
-<para>
-
-</para>
-
-@cr:
-
-
-<!-- ##### FUNCTION cairo_show_page ##### -->
-<para>
-
-</para>
-
-@cr:
-
-
-<!-- ##### FUNCTION cairo_get_reference_count ##### -->
-<para>
-
-</para>
-
-@cr:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_set_user_data ##### -->
-<para>
-
-</para>
-
-@cr:
-@key:
-@user_data:
-@destroy:
-@Returns:
-
-
-<!-- ##### FUNCTION cairo_get_user_data ##### -->
-<para>
-
-</para>
-
-@cr:
-@key:
-@Returns:
-
-
diff --git a/src/cairo-beos-surface.cpp b/src/cairo-beos-surface.cpp
index c66f1aa1..2e0f42c6 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 3d619114..a66054ea 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 971f7d50..b472a301 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 77fc9dcb..828c553b 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 a23ef48a..383df993 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 6ae8e62c..2536ebff 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 4d5e1801..60372595 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 98404102..28182c0e 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 56e3b04f..d9d40a86 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 8b498053..301ddce4 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 6a716145..8b2ff77f 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 092a2dfa..fda4a309 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 736fdc29..3bcf1e26 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 6104eec7..1fad0d42 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 8ad77f5f..b40e4d40 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 8906c5ff..eaee4610 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 4c96a3ac..5b348f36 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 49fc7092..af46f409 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 326b804d..a524d588 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 b0a581c7..2f53e114 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 aa4d7478..479c672c 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 cebf83fd..660aaba3 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 a006d968..fef12ec0 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 60425a46..9c2d3a7f 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 ddc745c4..92351300 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 748a637a..7c1c76aa 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)