[cairo] [PATCH 08/12] doc: Add "since" tag to documentation
Andrea Canciani
ranma42 at gmail.com
Tue Mar 27 04:25:55 PDT 2012
The following Python script was used to compute "Since: 1.X" tags,
based on the first version where a symbol became officially supported.
This script requires a concatenation of the the cairo public headers
for the officially supported beckends to be available as
"../../includes/1.X.0.h".
from sys import argv
import re
syms = {}
def stripcomments(text):
def replacer(match):
s = match.group(0)
if s.startswith('/'):
return ""
else:
return s
pattern = re.compile(
r'//.*?$|/\*.*?\*/|\'(?:\\.|[^\\\'])*\'|"(?:\\.|[^\\"])*"',
re.DOTALL | re.MULTILINE
)
return re.sub(pattern, replacer, text)
for minor in range(12,-2,-2):
version = "1.%d" % minor
names = re.split('([A-Za-z0-9_]+)', stripcomments(open("../../includes/%s.0.h" % version).read()))
for s in names: syms[s] = version
for filename in argv[1:]:
is_public = False
lines = open(filename, "r").read().split("\n")
newlines = []
for i in range(len(lines)):
if lines[i] == "/**":
last_sym = lines[i+1][2:].strip().replace(":", "")
is_public = last_sym.lower().startswith("cairo")
elif is_public and lines[i] == " **/":
if last_sym in syms:
v = syms[last_sym]
if re.search("Since", newlines[-1]): newlines = newlines[:-1]
if newlines[-1].strip() != "*": newlines.append(" *")
newlines.append(" * Since: %s" % v)
else:
print "%s (%d): Cannot determine the version in which '%s' was introduced" % (filename, i, last_sym)
newlines.append(lines[i])
out = open(filename, "w")
out.write("\n".join(newlines))
out.close()
---
src/cairo-debug.c | 2 +
src/cairo-font-face.c | 10 ++
src/cairo-font-options.c | 30 ++++++
src/cairo-ft-font.c | 14 +++
src/cairo-image-surface.c | 8 ++
src/cairo-matrix.c | 24 ++++
src/cairo-misc.c | 2 +
src/cairo-path.c | 2 +
src/cairo-pattern.c | 32 ++++++
src/cairo-pdf-surface.c | 2 +
src/cairo-pdf.h | 2 +-
src/cairo-png.c | 10 ++
src/cairo-ps-surface.c | 2 +
src/cairo-ps.h | 2 +
src/cairo-quartz-font.c | 2 +
src/cairo-quartz-surface.c | 2 +
src/cairo-region.c | 2 +
src/cairo-scaled-font.c | 12 ++
src/cairo-script-surface.c | 16 +++
src/cairo-surface.c | 26 +++++
src/cairo-svg-surface.c | 2 +
src/cairo-svg.h | 2 +
src/cairo-version.c | 16 +++
src/cairo-xlib-surface.c | 14 +++
src/cairo.c | 174 +++++++++++++++++++++++++++++++
src/cairo.h | 66 ++++++++++++
src/win32/cairo-win32-display-surface.c | 4 +
src/win32/cairo-win32-font.c | 14 +++
src/win32/cairo-win32-surface.c | 2 +
29 files changed, 495 insertions(+), 1 deletions(-)
diff --git a/src/cairo-debug.c b/src/cairo-debug.c
index ebae072..33d46aa 100644
--- a/src/cairo-debug.c
+++ b/src/cairo-debug.c
@@ -56,6 +56,8 @@
* functions have been called as necessary). If there are active cairo
* objects, this call is likely to cause a crash, (eg. an assertion
* failure due to a hash table being destroyed when non-empty).
+ *
+ * Since: 1.0
**/
void
cairo_debug_reset_static_data (void)
diff --git a/src/cairo-font-face.c b/src/cairo-font-face.c
index f429da0..b93bd8c 100644
--- a/src/cairo-font-face.c
+++ b/src/cairo-font-face.c
@@ -108,6 +108,8 @@ _cairo_font_face_init (cairo_font_face_t *font_face,
* cairo_font_face_get_reference_count().
*
* Return value: the referenced #cairo_font_face_t.
+ *
+ * Since: 1.0
**/
cairo_font_face_t *
cairo_font_face_reference (cairo_font_face_t *font_face)
@@ -133,6 +135,8 @@ slim_hidden_def (cairo_font_face_reference);
* Decreases the reference count on @font_face by one. If the result
* is zero, then @font_face and all associated resources are freed.
* See cairo_font_face_reference().
+ *
+ * Since: 1.0
**/
void
cairo_font_face_destroy (cairo_font_face_t *font_face)
@@ -212,6 +216,8 @@ cairo_font_face_get_reference_count (cairo_font_face_t *font_face)
*
* Return value: %CAIRO_STATUS_SUCCESS or another error such as
* %CAIRO_STATUS_NO_MEMORY.
+ *
+ * Since: 1.0
**/
cairo_status_t
cairo_font_face_status (cairo_font_face_t *font_face)
@@ -230,6 +236,8 @@ cairo_font_face_status (cairo_font_face_t *font_face)
* function returns %NULL.
*
* Return value: the user data previously attached or %NULL.
+ *
+ * Since: 1.0
**/
void *
cairo_font_face_get_user_data (cairo_font_face_t *font_face,
@@ -255,6 +263,8 @@ slim_hidden_def (cairo_font_face_get_user_data);
*
* Return value: %CAIRO_STATUS_SUCCESS or %CAIRO_STATUS_NO_MEMORY if a
* slot could not be allocated for the user data.
+ *
+ * Since: 1.0
**/
cairo_status_t
cairo_font_face_set_user_data (cairo_font_face_t *font_face,
diff --git a/src/cairo-font-options.c b/src/cairo-font-options.c
index 709c5f8..ccbe16d 100644
--- a/src/cairo-font-options.c
+++ b/src/cairo-font-options.c
@@ -98,6 +98,8 @@ _cairo_font_options_init_copy (cairo_font_options_t *options,
* valid pointer; if memory cannot be allocated, then a special
* error object is returned where all operations on the object do nothing.
* You can check for this with cairo_font_options_status().
+ *
+ * Since: 1.0
**/
cairo_font_options_t *
cairo_font_options_create (void)
@@ -127,6 +129,8 @@ cairo_font_options_create (void)
* valid pointer; if memory cannot be allocated, then a special
* error object is returned where all operations on the object do nothing.
* You can check for this with cairo_font_options_status().
+ *
+ * Since: 1.0
**/
cairo_font_options_t *
cairo_font_options_copy (const cairo_font_options_t *original)
@@ -153,6 +157,8 @@ cairo_font_options_copy (const cairo_font_options_t *original)
*
* Destroys a #cairo_font_options_t object created with
* cairo_font_options_create() or cairo_font_options_copy().
+ *
+ * Since: 1.0
**/
void
cairo_font_options_destroy (cairo_font_options_t *options)
@@ -171,6 +177,8 @@ cairo_font_options_destroy (cairo_font_options_t *options)
* font options object
*
* Return value: %CAIRO_STATUS_SUCCESS or %CAIRO_STATUS_NO_MEMORY
+ *
+ * Since: 1.0
**/
cairo_status_t
cairo_font_options_status (cairo_font_options_t *options)
@@ -193,6 +201,8 @@ slim_hidden_def (cairo_font_options_status);
* existing values. This operation can be thought of as somewhat
* similar to compositing @other onto @options with the operation
* of %CAIRO_OPERATOR_OVER.
+ *
+ * Since: 1.0
**/
void
cairo_font_options_merge (cairo_font_options_t *options,
@@ -229,6 +239,8 @@ slim_hidden_def (cairo_font_options_merge);
* Return value: %TRUE if all fields of the two font options objects match.
* Note that this function will return %FALSE if either object is in
* error.
+ *
+ * Since: 1.0
**/
cairo_bool_t
cairo_font_options_equal (const cairo_font_options_t *options,
@@ -262,6 +274,8 @@ slim_hidden_def (cairo_font_options_equal);
* Return value: the hash value for the font options object.
* The return value can be cast to a 32-bit type if a
* 32-bit hash value is needed.
+ *
+ * Since: 1.0
**/
unsigned long
cairo_font_options_hash (const cairo_font_options_t *options)
@@ -284,6 +298,8 @@ slim_hidden_def (cairo_font_options_hash);
*
* Sets the antialiasing mode for the font options object. This
* specifies the type of antialiasing to do when rendering text.
+ *
+ * Since: 1.0
**/
void
cairo_font_options_set_antialias (cairo_font_options_t *options,
@@ -303,6 +319,8 @@ slim_hidden_def (cairo_font_options_set_antialias);
* Gets the antialiasing mode for the font options object.
*
* Return value: the antialiasing mode
+ *
+ * Since: 1.0
**/
cairo_antialias_t
cairo_font_options_get_antialias (const cairo_font_options_t *options)
@@ -323,6 +341,8 @@ cairo_font_options_get_antialias (const cairo_font_options_t *options)
* the display device when rendering with an antialiasing mode of
* %CAIRO_ANTIALIAS_SUBPIXEL. See the documentation for
* #cairo_subpixel_order_t for full details.
+ *
+ * Since: 1.0
**/
void
cairo_font_options_set_subpixel_order (cairo_font_options_t *options,
@@ -343,6 +363,8 @@ slim_hidden_def (cairo_font_options_set_subpixel_order);
* See the documentation for #cairo_subpixel_order_t for full details.
*
* Return value: the subpixel order for the font options object
+ *
+ * Since: 1.0
**/
cairo_subpixel_order_t
cairo_font_options_get_subpixel_order (const cairo_font_options_t *options)
@@ -443,6 +465,8 @@ _cairo_font_options_get_round_glyph_positions (const cairo_font_options_t *optio
* This controls whether to fit font outlines to the pixel grid,
* and if so, whether to optimize for fidelity or contrast.
* See the documentation for #cairo_hint_style_t for full details.
+ *
+ * Since: 1.0
**/
void
cairo_font_options_set_hint_style (cairo_font_options_t *options,
@@ -463,6 +487,8 @@ slim_hidden_def (cairo_font_options_set_hint_style);
* See the documentation for #cairo_hint_style_t for full details.
*
* Return value: the hint style for the font options object
+ *
+ * Since: 1.0
**/
cairo_hint_style_t
cairo_font_options_get_hint_style (const cairo_font_options_t *options)
@@ -482,6 +508,8 @@ cairo_font_options_get_hint_style (const cairo_font_options_t *options)
* controls whether metrics are quantized to integer values in
* device units.
* See the documentation for #cairo_hint_metrics_t for full details.
+ *
+ * Since: 1.0
**/
void
cairo_font_options_set_hint_metrics (cairo_font_options_t *options,
@@ -502,6 +530,8 @@ slim_hidden_def (cairo_font_options_set_hint_metrics);
* See the documentation for #cairo_hint_metrics_t for full details.
*
* Return value: the metrics hinting mode for the font options object
+ *
+ * Since: 1.0
**/
cairo_hint_metrics_t
cairo_font_options_get_hint_metrics (const cairo_font_options_t *options)
diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c
index 69a701c..fba8025 100644
--- a/src/cairo-ft-font.c
+++ b/src/cairo-ft-font.c
@@ -108,6 +108,8 @@
*
* Defined if the FreeType font backend is available.
* This macro can be used to conditionally compile backend-specific code.
+ *
+ * Since: 1.0
**/
/**
@@ -116,6 +118,8 @@
* Defined if the Fontconfig-specific functions of the FreeType font backend
* are available.
* This macro can be used to conditionally compile backend-specific code.
+ *
+ * Since: 1.10
**/
/*
@@ -3029,6 +3033,8 @@ _cairo_ft_font_options_substitute (const cairo_font_options_t *options,
* so you should call this function after calling FcConfigSubstitute() (the
* user's settings should override options based on the surface type), but
* before calling FcDefaultSubstitute().
+ *
+ * Since: 1.0
**/
void
cairo_ft_font_options_substitute (const cairo_font_options_t *options,
@@ -3163,6 +3169,8 @@ FREE_PATTERN:
*
* Return value: a newly created #cairo_font_face_t. Free with
* cairo_font_face_destroy() when you are done using it.
+ *
+ * Since: 1.0
**/
cairo_font_face_t *
cairo_ft_font_face_create_for_pattern (FcPattern *pattern)
@@ -3234,6 +3242,8 @@ cairo_ft_font_face_create_for_pattern (FcPattern *pattern)
*
* Return value: a newly created #cairo_font_face_t. Free with
* cairo_font_face_destroy() when you are done using it.
+ *
+ * Since: 1.0
**/
cairo_font_face_t *
cairo_ft_font_face_create_for_ft_face (FT_Face face,
@@ -3355,6 +3365,8 @@ cairo_ft_font_face_get_synthesize (cairo_font_face_t *font_face)
* Return value: The #FT_Face object for @font, scaled appropriately,
* or %NULL if @scaled_font is in an error state (see
* cairo_scaled_font_status()) or there is insufficient memory.
+ *
+ * Since: 1.0
**/
FT_Face
cairo_ft_scaled_font_lock_face (cairo_scaled_font_t *abstract_font)
@@ -3404,6 +3416,8 @@ cairo_ft_scaled_font_lock_face (cairo_scaled_font_t *abstract_font)
* cairo_ft_font_face_create_for_ft_face()).
*
* Releases a face obtained with cairo_ft_scaled_font_lock_face().
+ *
+ * Since: 1.0
**/
void
cairo_ft_scaled_font_unlock_face (cairo_scaled_font_t *abstract_font)
diff --git a/src/cairo-image-surface.c b/src/cairo-image-surface.c
index c118346..8208a15 100644
--- a/src/cairo-image-surface.c
+++ b/src/cairo-image-surface.c
@@ -373,6 +373,8 @@ _cairo_image_surface_create_with_pixman_format (unsigned char *data,
* This function always returns a valid pointer, but it will return a
* pointer to a "nil" surface if an error such as out of memory
* occurs. You can use cairo_surface_status() to check for this.
+ *
+ * Since: 1.0
**/
cairo_surface_t *
cairo_image_surface_create (cairo_format_t format,
@@ -488,6 +490,8 @@ slim_hidden_def (cairo_format_stride_for_width);
*
* See cairo_surface_set_user_data() for a means of attaching a
* destroy-notification fallback to the surface if necessary.
+ *
+ * Since: 1.0
**/
cairo_surface_t *
cairo_image_surface_create_for_data (unsigned char *data,
@@ -590,6 +594,8 @@ slim_hidden_def (cairo_image_surface_get_format);
* Get the width of the image surface in pixels.
*
* Return value: the width of the surface in pixels.
+ *
+ * Since: 1.0
**/
int
cairo_image_surface_get_width (cairo_surface_t *surface)
@@ -612,6 +618,8 @@ slim_hidden_def (cairo_image_surface_get_width);
* Get the height of the image surface in pixels.
*
* Return value: the height of the surface in pixels.
+ *
+ * Since: 1.0
**/
int
cairo_image_surface_get_height (cairo_surface_t *surface)
diff --git a/src/cairo-matrix.c b/src/cairo-matrix.c
index c3b9263..ba975be 100644
--- a/src/cairo-matrix.c
+++ b/src/cairo-matrix.c
@@ -80,6 +80,8 @@ _cairo_matrix_compute_adjoint (cairo_matrix_t *matrix);
* @matrix: a #cairo_matrix_t
*
* Modifies @matrix to be an identity transformation.
+ *
+ * Since: 1.0
**/
void
cairo_matrix_init_identity (cairo_matrix_t *matrix)
@@ -108,6 +110,8 @@ slim_hidden_def(cairo_matrix_init_identity);
* x_new = xx * x + xy * y + x0;
* y_new = yx * x + yy * y + y0;
* </programlisting>
+ *
+ * Since: 1.0
**/
void
cairo_matrix_init (cairo_matrix_t *matrix,
@@ -168,6 +172,8 @@ _cairo_matrix_get_affine (const cairo_matrix_t *matrix,
*
* Initializes @matrix to a transformation that translates by @tx and
* @ty in the X and Y dimensions, respectively.
+ *
+ * Since: 1.0
**/
void
cairo_matrix_init_translate (cairo_matrix_t *matrix,
@@ -190,6 +196,8 @@ slim_hidden_def(cairo_matrix_init_translate);
* @matrix. The effect of the new transformation is to first translate
* the coordinates by @tx and @ty, then apply the original transformation
* to the coordinates.
+ *
+ * Since: 1.0
**/
void
cairo_matrix_translate (cairo_matrix_t *matrix, double tx, double ty)
@@ -210,6 +218,8 @@ slim_hidden_def (cairo_matrix_translate);
*
* Initializes @matrix to a transformation that scales by @sx and @sy
* in the X and Y dimensions, respectively.
+ *
+ * Since: 1.0
**/
void
cairo_matrix_init_scale (cairo_matrix_t *matrix,
@@ -231,6 +241,8 @@ slim_hidden_def(cairo_matrix_init_scale);
* Applies scaling by @sx, @sy to the transformation in @matrix. The
* effect of the new transformation is to first scale the coordinates
* by @sx and @sy, then apply the original transformation to the coordinates.
+ *
+ * Since: 1.0
**/
void
cairo_matrix_scale (cairo_matrix_t *matrix, double sx, double sy)
@@ -253,6 +265,8 @@ slim_hidden_def(cairo_matrix_scale);
* direction.
*
* Initialized @matrix to a transformation that rotates by @radians.
+ *
+ * Since: 1.0
**/
void
cairo_matrix_init_rotate (cairo_matrix_t *matrix,
@@ -284,6 +298,8 @@ slim_hidden_def(cairo_matrix_init_rotate);
* @matrix. The effect of the new transformation is to first rotate the
* coordinates by @radians, then apply the original transformation
* to the coordinates.
+ *
+ * Since: 1.0
**/
void
cairo_matrix_rotate (cairo_matrix_t *matrix, double radians)
@@ -308,6 +324,8 @@ cairo_matrix_rotate (cairo_matrix_t *matrix, double radians)
* coordinates.
*
* It is allowable for @result to be identical to either @a or @b.
+ *
+ * Since: 1.0
**/
/*
* XXX: The ordering of the arguments to this function corresponds
@@ -368,6 +386,8 @@ _cairo_matrix_multiply (cairo_matrix_t *r,
* always transforms to the same vector. If (@x1, at y1) transforms
* to (@x2, at y2) then (@x1+ at dx1, at y1+@dy1) will transform to
* (@x1+ at dx2, at y1+@dy2) for all values of @x1 and @x2.
+ *
+ * Since: 1.0
**/
void
cairo_matrix_transform_distance (const cairo_matrix_t *matrix, double *dx, double *dy)
@@ -389,6 +409,8 @@ slim_hidden_def(cairo_matrix_transform_distance);
* @y: Y position. An in/out parameter
*
* Transforms the point (@x, @y) by @matrix.
+ *
+ * Since: 1.0
**/
void
cairo_matrix_transform_point (const cairo_matrix_t *matrix, double *x, double *y)
@@ -563,6 +585,8 @@ _cairo_matrix_compute_adjoint (cairo_matrix_t *matrix)
* Returns: If @matrix has an inverse, modifies @matrix to
* be the inverse matrix and returns %CAIRO_STATUS_SUCCESS. Otherwise,
* returns %CAIRO_STATUS_INVALID_MATRIX.
+ *
+ * Since: 1.0
**/
cairo_status_t
cairo_matrix_invert (cairo_matrix_t *matrix)
diff --git a/src/cairo-misc.c b/src/cairo-misc.c
index 60edaae..bb37e1a 100644
--- a/src/cairo-misc.c
+++ b/src/cairo-misc.c
@@ -73,6 +73,8 @@ COMPILE_TIME_ASSERT (CAIRO_INT_STATUS_LAST_STATUS <= 127);
* Provides a human-readable description of a #cairo_status_t.
*
* Returns: a string representation of the status
+ *
+ * Since: 1.0
**/
const char *
cairo_status_to_string (cairo_status_t status)
diff --git a/src/cairo-path.c b/src/cairo-path.c
index f2a02f1..5c48373 100644
--- a/src/cairo-path.c
+++ b/src/cairo-path.c
@@ -358,6 +358,8 @@ _cairo_path_create_internal (cairo_path_fixed_t *path_fixed,
* pointer to a #cairo_path_t returned by a cairo function. Any path
* that is created manually (ie. outside of cairo) should be destroyed
* manually as well.
+ *
+ * Since: 1.0
**/
void
cairo_path_destroy (cairo_path_t *path)
diff --git a/src/cairo-pattern.c b/src/cairo-pattern.c
index 9f93e91..27ba004 100644
--- a/src/cairo-pattern.c
+++ b/src/cairo-pattern.c
@@ -649,6 +649,8 @@ _cairo_pattern_create_in_error (cairo_status_t status)
* This function will always return a valid pointer, but if an error
* occurred the pattern status will be set to an error. To inspect
* the status of a pattern use cairo_pattern_status().
+ *
+ * Since: 1.0
**/
cairo_pattern_t *
cairo_pattern_create_rgb (double red, double green, double blue)
@@ -677,6 +679,8 @@ slim_hidden_def (cairo_pattern_create_rgb);
* This function will always return a valid pointer, but if an error
* occurred the pattern status will be set to an error. To inspect
* the status of a pattern use cairo_pattern_status().
+ *
+ * Since: 1.0
**/
cairo_pattern_t *
cairo_pattern_create_rgba (double red, double green, double blue,
@@ -711,6 +715,8 @@ slim_hidden_def (cairo_pattern_create_rgba);
* This function will always return a valid pointer, but if an error
* occurred the pattern status will be set to an error. To inspect
* the status of a pattern use cairo_pattern_status().
+ *
+ * Since: 1.0
**/
cairo_pattern_t *
cairo_pattern_create_for_surface (cairo_surface_t *surface)
@@ -769,6 +775,8 @@ slim_hidden_def (cairo_pattern_create_for_surface);
* This function will always return a valid pointer, but if an error
* occurred the pattern status will be set to an error. To inspect
* the status of a pattern use cairo_pattern_status().
+ *
+ * Since: 1.0
**/
cairo_pattern_t *
cairo_pattern_create_linear (double x0, double y0, double x1, double y1)
@@ -820,6 +828,8 @@ cairo_pattern_create_linear (double x0, double y0, double x1, double y1)
* This function will always return a valid pointer, but if an error
* occurred the pattern status will be set to an error. To inspect
* the status of a pattern use cairo_pattern_status().
+ *
+ * Since: 1.0
**/
cairo_pattern_t *
cairo_pattern_create_radial (double cx0, double cy0, double radius0,
@@ -1037,6 +1047,8 @@ cairo_pattern_create_mesh (void)
* cairo_pattern_get_reference_count().
*
* Return value: the referenced #cairo_pattern_t.
+ *
+ * Since: 1.0
**/
cairo_pattern_t *
cairo_pattern_reference (cairo_pattern_t *pattern)
@@ -1080,6 +1092,8 @@ cairo_pattern_get_type (cairo_pattern_t *pattern)
* Return value: %CAIRO_STATUS_SUCCESS, %CAIRO_STATUS_NO_MEMORY,
* %CAIRO_STATUS_INVALID_MATRIX, %CAIRO_STATUS_PATTERN_TYPE_MISMATCH,
* or %CAIRO_STATUS_INVALID_MESH_CONSTRUCTION.
+ *
+ * Since: 1.0
**/
cairo_status_t
cairo_pattern_status (cairo_pattern_t *pattern)
@@ -1094,6 +1108,8 @@ cairo_pattern_status (cairo_pattern_t *pattern)
* Decreases the reference count on @pattern by one. If the result is
* zero, then @pattern and all associated resources are freed. See
* cairo_pattern_reference().
+ *
+ * Since: 1.0
**/
void
cairo_pattern_destroy (cairo_pattern_t *pattern)
@@ -1873,6 +1889,8 @@ _cairo_pattern_add_color_stop (cairo_gradient_pattern_t *pattern,
* Note: If the pattern is not a gradient pattern, (eg. a linear or
* radial pattern), then the pattern will be put into an error status
* with a status of %CAIRO_STATUS_PATTERN_TYPE_MISMATCH.
+ *
+ * Since: 1.0
**/
void
cairo_pattern_add_color_stop_rgb (cairo_pattern_t *pattern,
@@ -1910,6 +1928,8 @@ cairo_pattern_add_color_stop_rgb (cairo_pattern_t *pattern,
* Note: If the pattern is not a gradient pattern, (eg. a linear or
* radial pattern), then the pattern will be put into an error status
* with a status of %CAIRO_STATUS_PATTERN_TYPE_MISMATCH.
+ *
+ * Since: 1.0
**/
void
cairo_pattern_add_color_stop_rgba (cairo_pattern_t *pattern,
@@ -1971,6 +1991,8 @@ slim_hidden_def (cairo_pattern_add_color_stop_rgba);
*
* Also, please note the discussion of the user-space locking
* semantics of cairo_set_source().
+ *
+ * Since: 1.0
**/
void
cairo_pattern_set_matrix (cairo_pattern_t *pattern,
@@ -2001,6 +2023,8 @@ slim_hidden_def (cairo_pattern_set_matrix);
* @matrix: return value for the matrix
*
* Stores the pattern's transformation matrix into @matrix.
+ *
+ * Since: 1.0
**/
void
cairo_pattern_get_matrix (cairo_pattern_t *pattern, cairo_matrix_t *matrix)
@@ -2027,6 +2051,8 @@ cairo_pattern_get_matrix (cairo_pattern_t *pattern, cairo_matrix_t *matrix)
* cairo_set_source_surface (cr, image, x, y);
* cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
* </programlisting></informalexample>
+ *
+ * Since: 1.0
**/
void
cairo_pattern_set_filter (cairo_pattern_t *pattern, cairo_filter_t filter)
@@ -2046,6 +2072,8 @@ cairo_pattern_set_filter (cairo_pattern_t *pattern, cairo_filter_t filter)
* for details on each filter.
*
* Return value: the current filter used for resizing the pattern.
+ *
+ * Since: 1.0
**/
cairo_filter_t
cairo_pattern_get_filter (cairo_pattern_t *pattern)
@@ -2065,6 +2093,8 @@ cairo_pattern_get_filter (cairo_pattern_t *pattern)
*
* The default extend mode is %CAIRO_EXTEND_NONE for surface patterns
* and %CAIRO_EXTEND_PAD for gradient patterns.
+ *
+ * Since: 1.0
**/
void
cairo_pattern_set_extend (cairo_pattern_t *pattern, cairo_extend_t extend)
@@ -2085,6 +2115,8 @@ cairo_pattern_set_extend (cairo_pattern_t *pattern, cairo_extend_t extend)
*
* Return value: the current extend strategy used for drawing the
* pattern.
+ *
+ * Since: 1.0
**/
cairo_extend_t
cairo_pattern_get_extend (cairo_pattern_t *pattern)
diff --git a/src/cairo-pdf-surface.c b/src/cairo-pdf-surface.c
index 9658957..4930e72 100644
--- a/src/cairo-pdf-surface.c
+++ b/src/cairo-pdf-surface.c
@@ -141,6 +141,8 @@ _cairo_pdf_surface_get_extents (void *abstract_surface,
*
* Defined if the PDF surface backend is available.
* This macro can be used to conditionally compile backend-specific code.
+ *
+ * Since: 1.2
**/
static const cairo_pdf_version_t _cairo_pdf_versions[] =
diff --git a/src/cairo-pdf.h b/src/cairo-pdf.h
index 1ddee3d..4b18e73 100644
--- a/src/cairo-pdf.h
+++ b/src/cairo-pdf.h
@@ -51,7 +51,7 @@ CAIRO_BEGIN_DECLS
* #cairo_pdf_version_t is used to describe the version number of the PDF
* specification that a generated PDF file will conform to.
*
- * Since 1.10
+ * Since: 1.10
**/
typedef enum _cairo_pdf_version {
CAIRO_PDF_VERSION_1_4,
diff --git a/src/cairo-png.c b/src/cairo-png.c
index b36c8df..e74a4a8 100644
--- a/src/cairo-png.c
+++ b/src/cairo-png.c
@@ -70,6 +70,8 @@
* Defined if the PNG functions are available.
* This macro can be used to conditionally compile code using the cairo
* PNG functions.
+ *
+ * Since: 1.0
**/
struct png_read_closure_t {
@@ -348,6 +350,8 @@ stdio_write_func (png_structp png, png_bytep data, png_size_t size)
* %CAIRO_STATUS_SURFACE_TYPE_MISMATCH if the surface does not have
* pixel contents, or %CAIRO_STATUS_WRITE_ERROR if an I/O error occurs
* while attempting to write the file.
+ *
+ * Since: 1.0
**/
cairo_status_t
cairo_surface_write_to_png (cairo_surface_t *surface,
@@ -414,6 +418,8 @@ stream_write_func (png_structp png, png_bytep data, png_size_t size)
* memory could not be allocated for the operation,
* %CAIRO_STATUS_SURFACE_TYPE_MISMATCH if the surface does not have
* pixel contents.
+ *
+ * Since: 1.0
**/
cairo_status_t
cairo_surface_write_to_png_stream (cairo_surface_t *surface,
@@ -742,6 +748,8 @@ read_png (struct png_read_closure_t *png_closure)
* Alternatively, you can allow errors to propagate through the drawing
* operations and check the status on the context upon completion
* using cairo_status().
+ *
+ * Since: 1.0
**/
cairo_surface_t *
cairo_image_surface_create_from_png (const char *filename)
@@ -795,6 +803,8 @@ cairo_image_surface_create_from_png (const char *filename)
* Alternatively, you can allow errors to propagate through the drawing
* operations and check the status on the context upon completion
* using cairo_status().
+ *
+ * Since: 1.0
**/
cairo_surface_t *
cairo_image_surface_create_from_png_stream (cairo_read_func_t read_func,
diff --git a/src/cairo-ps-surface.c b/src/cairo-ps-surface.c
index c881516..c5ea680 100644
--- a/src/cairo-ps-surface.c
+++ b/src/cairo-ps-surface.c
@@ -111,6 +111,8 @@
*
* Defined if the PostScript surface backend is available.
* This macro can be used to conditionally compile backend-specific code.
+ *
+ * Since: 1.2
**/
typedef enum {
diff --git a/src/cairo-ps.h b/src/cairo-ps.h
index edd1e95..8e2ab36 100644
--- a/src/cairo-ps.h
+++ b/src/cairo-ps.h
@@ -55,6 +55,8 @@ CAIRO_BEGIN_DECLS
* #cairo_ps_level_t is used to describe the language level of the
* PostScript Language Reference that a generated PostScript file will
* conform to.
+ *
+ * Since: 1.6
**/
typedef enum _cairo_ps_level {
CAIRO_PS_LEVEL_2,
diff --git a/src/cairo-quartz-font.c b/src/cairo-quartz-font.c
index f94b491..a9bbbdc 100644
--- a/src/cairo-quartz-font.c
+++ b/src/cairo-quartz-font.c
@@ -60,6 +60,8 @@
*
* Defined if the Quartz font backend is available.
* This macro can be used to conditionally compile backend-specific code.
+ *
+ * Since: 1.6
**/
static CFDataRef (*CGFontCopyTableForTagPtr) (CGFontRef font, uint32_t tag) = NULL;
diff --git a/src/cairo-quartz-surface.c b/src/cairo-quartz-surface.c
index f806077..818e908 100644
--- a/src/cairo-quartz-surface.c
+++ b/src/cairo-quartz-surface.c
@@ -81,6 +81,8 @@
*
* Defined if the Quartz surface backend is available.
* This macro can be used to conditionally compile backend-specific code.
+ *
+ * Since: 1.6
**/
#if __MAC_OS_X_VERSION_MIN_REQUIRED < 1050
diff --git a/src/cairo-region.c b/src/cairo-region.c
index c3785eb..8f7fd20 100644
--- a/src/cairo-region.c
+++ b/src/cairo-region.c
@@ -848,6 +848,8 @@ slim_hidden_def (cairo_region_translate);
* partially outside the region.
*
* Used as the return value for cairo_region_contains_rectangle().
+ *
+ * Since: 1.10
**/
/**
diff --git a/src/cairo-scaled-font.c b/src/cairo-scaled-font.c
index 29cea06..e6552ec 100644
--- a/src/cairo-scaled-font.c
+++ b/src/cairo-scaled-font.c
@@ -317,6 +317,8 @@ cairo_scaled_font_get_type (cairo_scaled_font_t *scaled_font)
*
* Return value: %CAIRO_STATUS_SUCCESS or another error such as
* %CAIRO_STATUS_NO_MEMORY.
+ *
+ * Since: 1.0
**/
cairo_status_t
cairo_scaled_font_status (cairo_scaled_font_t *scaled_font)
@@ -959,6 +961,8 @@ _cairo_scaled_glyph_find_private (cairo_scaled_glyph_t *scaled_glyph,
*
* Return value: a newly created #cairo_scaled_font_t. Destroy with
* cairo_scaled_font_destroy()
+ *
+ * Since: 1.0
**/
cairo_scaled_font_t *
cairo_scaled_font_create (cairo_font_face_t *font_face,
@@ -1236,6 +1240,8 @@ _cairo_scaled_font_reset_static_data (void)
* cairo_scaled_font_get_reference_count().
*
* Returns: the referenced #cairo_scaled_font_t
+ *
+ * Since: 1.0
**/
cairo_scaled_font_t *
cairo_scaled_font_reference (cairo_scaled_font_t *scaled_font)
@@ -1259,6 +1265,8 @@ slim_hidden_def (cairo_scaled_font_reference);
* Decreases the reference count on @font by one. If the result
* is zero, then @font and all associated resources are freed.
* See cairo_scaled_font_reference().
+ *
+ * Since: 1.0
**/
void
cairo_scaled_font_destroy (cairo_scaled_font_t *scaled_font)
@@ -1415,6 +1423,8 @@ slim_hidden_def (cairo_scaled_font_set_user_data);
* @extents: a #cairo_font_extents_t which to store the retrieved extents.
*
* Gets the metrics for a #cairo_scaled_font_t.
+ *
+ * Since: 1.0
**/
void
cairo_scaled_font_extents (cairo_scaled_font_t *scaled_font,
@@ -1512,6 +1522,8 @@ ZERO_EXTENTS:
*
* Note that whitespace glyphs do not contribute to the size of the
* rectangle (extents.width and extents.height).
+ *
+ * Since: 1.0
**/
void
cairo_scaled_font_glyph_extents (cairo_scaled_font_t *scaled_font,
diff --git a/src/cairo-script-surface.c b/src/cairo-script-surface.c
index 89cf525..a2de7d6 100644
--- a/src/cairo-script-surface.c
+++ b/src/cairo-script-surface.c
@@ -3744,6 +3744,8 @@ _cairo_script_context_create (cairo_output_stream_t *stream)
* This function always returns a valid pointer, but it will return a
* pointer to a "nil" device if an error such as out of memory
* occurs. You can use cairo_device_status() to check for this.
+ *
+ * Since: 1.12
**/
cairo_device_t *
cairo_script_create (const char *filename)
@@ -3773,6 +3775,8 @@ cairo_script_create (const char *filename)
* This function always returns a valid pointer, but it will return a
* pointer to a "nil" device if an error such as out of memory
* occurs. You can use cairo_device_status() to check for this.
+ *
+ * Since: 1.12
**/
cairo_device_t *
cairo_script_create_for_stream (cairo_write_func_t write_func,
@@ -3795,6 +3799,8 @@ cairo_script_create_for_stream (cairo_write_func_t write_func,
* @len:the length of the sting to write, or -1 to use strlen()
*
* Emit a string verbatim into the script.
+ *
+ * Since: 1.12
**/
void
cairo_script_write_comment (cairo_device_t *script,
@@ -3817,6 +3823,8 @@ cairo_script_write_comment (cairo_device_t *script,
* @mode: the new mode
*
* Change the output mode of the script
+ *
+ * Since: 1.12
**/
void
cairo_script_set_mode (cairo_device_t *script,
@@ -3834,6 +3842,8 @@ cairo_script_set_mode (cairo_device_t *script,
* Queries the script for its current output mode.
*
* Return value: the current output mode of the script
+ *
+ * Since: 1.12
**/
cairo_script_mode_t
cairo_script_get_mode (cairo_device_t *script)
@@ -3859,6 +3869,8 @@ cairo_script_get_mode (cairo_device_t *script)
* This function always returns a valid pointer, but it will return a
* pointer to a "nil" surface if an error such as out of memory
* occurs. You can use cairo_surface_status() to check for this.
+ *
+ * Since: 1.12
**/
cairo_surface_t *
cairo_script_surface_create (cairo_device_t *script,
@@ -3902,6 +3914,8 @@ slim_hidden_def (cairo_script_surface_create);
* This function always returns a valid pointer, but it will return a
* pointer to a "nil" surface if an error such as out of memory
* occurs. You can use cairo_surface_status() to check for this.
+ *
+ * Since: 1.12
**/
cairo_surface_t *
cairo_script_surface_create_for_target (cairo_device_t *script,
@@ -3939,6 +3953,8 @@ cairo_script_surface_create_for_target (cairo_device_t *script,
* Converts the record operations in @recording_surface into a script.
*
* Return value: #CAIRO_STATUS_SUCCESS on successful completion or an error code.
+ *
+ * Since: 1.12
**/
cairo_status_t
cairo_script_from_recording_surface (cairo_device_t *script,
diff --git a/src/cairo-surface.c b/src/cairo-surface.c
index 299ce3b..062c269 100644
--- a/src/cairo-surface.c
+++ b/src/cairo-surface.c
@@ -247,6 +247,8 @@ slim_hidden_def(cairo_surface_get_content);
* %CAIRO_STATUS_NO_MEMORY, %CAIRO_STATUS_READ_ERROR,
* %CAIRO_STATUS_INVALID_CONTENT, %CAIRO_STATUS_INVALID_FORMAT, or
* %CAIRO_STATUS_INVALID_VISUAL.
+ *
+ * Since: 1.0
**/
cairo_status_t
cairo_surface_status (cairo_surface_t *surface)
@@ -506,6 +508,8 @@ _cairo_surface_create_similar_scratch (cairo_surface_t *other,
* This function always returns a valid pointer, but it will return a
* pointer to a "nil" surface if @other is already in an error state
* or any other error occurs.
+ *
+ * Since: 1.0
**/
cairo_surface_t *
cairo_surface_create_similar (cairo_surface_t *other,
@@ -806,6 +810,8 @@ _cairo_surface_create_similar_solid (cairo_surface_t *other,
* cairo_surface_get_reference_count().
*
* Return value: the referenced #cairo_surface_t.
+ *
+ * Since: 1.0
**/
cairo_surface_t *
cairo_surface_reference (cairo_surface_t *surface)
@@ -829,6 +835,8 @@ slim_hidden_def (cairo_surface_reference);
* Decreases the reference count on @surface by one. If the result is
* zero, then @surface and all associated resources are freed. See
* cairo_surface_reference().
+ *
+ * Since: 1.0
**/
void
cairo_surface_destroy (cairo_surface_t *surface)
@@ -930,6 +938,8 @@ _cairo_surface_finish (cairo_surface_t *surface)
* reference count to zero, cairo will call cairo_surface_finish() if
* it hasn't been called already, before freeing the resources
* associated with the surface.
+ *
+ * Since: 1.0
**/
void
cairo_surface_finish (cairo_surface_t *surface)
@@ -982,6 +992,8 @@ _cairo_surface_release_device_reference (cairo_surface_t *surface)
* function returns %NULL.
*
* Return value: the user data previously attached or %NULL.
+ *
+ * Since: 1.0
**/
void *
cairo_surface_get_user_data (cairo_surface_t *surface,
@@ -1005,6 +1017,8 @@ cairo_surface_get_user_data (cairo_surface_t *surface,
*
* Return value: %CAIRO_STATUS_SUCCESS or %CAIRO_STATUS_NO_MEMORY if a
* slot could not be allocated for the user data.
+ *
+ * Since: 1.0
**/
cairo_status_t
cairo_surface_set_user_data (cairo_surface_t *surface,
@@ -1152,6 +1166,8 @@ _cairo_mime_data_destroy (void *ptr)
*
* Return value: %CAIRO_STATUS_SUCCESS or %CAIRO_STATUS_NO_MEMORY if a
* slot could not be allocated for the user data.
+ *
+ * Since: 1.10
**/
cairo_status_t
cairo_surface_set_mime_data (cairo_surface_t *surface,
@@ -1312,6 +1328,8 @@ _cairo_surface_set_font_options (cairo_surface_t *surface,
* for rendering on them, print surfaces to disable hinting of
* metrics and so forth. The result can then be used with
* cairo_scaled_font_create().
+ *
+ * Since: 1.0
**/
void
cairo_surface_get_font_options (cairo_surface_t *surface,
@@ -1349,6 +1367,8 @@ slim_hidden_def (cairo_surface_get_font_options);
* drawing on the surface with cairo to drawing on it directly
* with native APIs. If the surface doesn't support direct access,
* then this function does nothing.
+ *
+ * Since: 1.0
**/
void
cairo_surface_flush (cairo_surface_t *surface)
@@ -1380,6 +1400,8 @@ slim_hidden_def (cairo_surface_flush);
* Tells cairo that drawing has been done to surface using means other
* than cairo, and that cairo should reread any cached areas. Note
* that you must call cairo_surface_flush() before doing such drawing.
+ *
+ * Since: 1.0
**/
void
cairo_surface_mark_dirty (cairo_surface_t *surface)
@@ -1403,6 +1425,8 @@ slim_hidden_def (cairo_surface_mark_dirty);
* Any cached clip set on the surface will be reset by this function,
* to make sure that future cairo calls have the clip set that they
* expect.
+ *
+ * Since: 1.0
**/
void
cairo_surface_mark_dirty_rectangle (cairo_surface_t *surface,
@@ -1526,6 +1550,8 @@ _cairo_surface_set_device_scale (cairo_surface_t *surface,
*
* Note that the offset affects drawing to the surface as well as
* using the surface in a source pattern.
+ *
+ * Since: 1.0
**/
void
cairo_surface_set_device_offset (cairo_surface_t *surface,
diff --git a/src/cairo-svg-surface.c b/src/cairo-svg-surface.c
index 950cb1f..1b6505f 100644
--- a/src/cairo-svg-surface.c
+++ b/src/cairo-svg-surface.c
@@ -73,6 +73,8 @@
*
* Defined if the SVG surface backend is available.
* This macro can be used to conditionally compile backend-specific code.
+ *
+ * Since: 1.2
**/
typedef struct cairo_svg_page cairo_svg_page_t;
diff --git a/src/cairo-svg.h b/src/cairo-svg.h
index 18fef32..31b0a45 100644
--- a/src/cairo-svg.h
+++ b/src/cairo-svg.h
@@ -45,6 +45,8 @@ CAIRO_BEGIN_DECLS
*
* #cairo_svg_version_t is used to describe the version number of the SVG
* specification that a generated SVG file will conform to.
+ *
+ * Since: 1.2
**/
typedef enum _cairo_svg_version {
CAIRO_SVG_VERSION_1_1,
diff --git a/src/cairo-version.c b/src/cairo-version.c
index 6e13fa5..d9ad240 100644
--- a/src/cairo-version.c
+++ b/src/cairo-version.c
@@ -144,24 +144,32 @@
*
* The version of cairo available at compile-time, encoded using
* CAIRO_VERSION_ENCODE().
+ *
+ * Since: 1.0
**/
/**
* CAIRO_VERSION_MAJOR:
*
* The major component of the version of cairo available at compile-time.
+ *
+ * Since: 1.0
**/
/**
* CAIRO_VERSION_MINOR:
*
* The minor component of the version of cairo available at compile-time.
+ *
+ * Since: 1.0
**/
/**
* CAIRO_VERSION_MICRO:
*
* The micro component of the version of cairo available at compile-time.
+ *
+ * Since: 1.0
**/
/**
@@ -169,6 +177,8 @@
*
* A human-readable string literal containing the version of cairo available
* at compile-time, in the form of "X.Y.Z".
+ *
+ * Since: 1.8
**/
/**
@@ -183,6 +193,8 @@
* that later versions compare greater than earlier versions.
*
* Returns: the encoded version.
+ *
+ * Since: 1.0
**/
/**
@@ -218,6 +230,8 @@
* equivalents %CAIRO_VERSION and %CAIRO_VERSION_STRING.
*
* Return value: the encoded version.
+ *
+ * Since: 1.0
**/
int
cairo_version (void)
@@ -235,6 +249,8 @@ cairo_version (void)
* %CAIRO_VERSION_STRING and %CAIRO_VERSION.
*
* Return value: a string containing the version.
+ *
+ * Since: 1.0
**/
const char*
cairo_version_string (void)
diff --git a/src/cairo-xlib-surface.c b/src/cairo-xlib-surface.c
index 0d47311..8f77eff 100644
--- a/src/cairo-xlib-surface.c
+++ b/src/cairo-xlib-surface.c
@@ -132,6 +132,8 @@ _x_bread_crumb (Display *dpy,
*
* Defined if the Xlib surface backend is available.
* This macro can be used to conditionally compile backend-specific code.
+ *
+ * Since: 1.0
**/
/**
@@ -152,6 +154,8 @@ _x_bread_crumb (Display *dpy,
*
* Defined if the XLib/XRender surface functions are available.
* This macro can be used to conditionally compile backend-specific code.
+ *
+ * Since: 1.6
**/
/* Xlib doesn't define a typedef, so define one ourselves */
@@ -1635,6 +1639,8 @@ static cairo_bool_t valid_size (int width, int height)
* children will be included.
*
* Return value: the newly created surface
+ *
+ * Since: 1.0
**/
cairo_surface_t *
cairo_xlib_surface_create (Display *dpy,
@@ -1679,6 +1685,8 @@ cairo_xlib_surface_create (Display *dpy,
* This will be drawn to as a %CAIRO_FORMAT_A1 object.
*
* Return value: the newly created surface
+ *
+ * Since: 1.0
**/
cairo_surface_t *
cairo_xlib_surface_create_for_bitmap (Display *dpy,
@@ -1724,6 +1732,8 @@ cairo_xlib_surface_create_for_bitmap (Display *dpy,
* window changes.
*
* Return value: the newly created surface
+ *
+ * Since: 1.0
**/
cairo_surface_t *
cairo_xlib_surface_create_with_xrender_format (Display *dpy,
@@ -1795,6 +1805,8 @@ cairo_xlib_surface_get_xrender_format (cairo_surface_t *surface)
*
* A Pixmap can never change size, so it is never necessary to call
* this function on a surface created for a Pixmap.
+ *
+ * Since: 1.0
**/
void
cairo_xlib_surface_set_size (cairo_surface_t *abstract_surface,
@@ -1839,6 +1851,8 @@ cairo_xlib_surface_set_size (cairo_surface_t *abstract_surface,
* will get X protocol errors and will probably terminate.
* No checks are done by this function to ensure this
* compatibility.
+ *
+ * Since: 1.0
**/
void
cairo_xlib_surface_set_drawable (cairo_surface_t *abstract_surface,
diff --git a/src/cairo.c b/src/cairo.c
index 1b3bc0e..82f02b9 100644
--- a/src/cairo.c
+++ b/src/cairo.c
@@ -218,6 +218,8 @@ _cairo_create_in_error (cairo_status_t status)
* writing (such as #cairo_mime_surface_t) then a
* %CAIRO_STATUS_WRITE_ERROR will be raised. You can use this
* object normally, but no drawing will be done.
+ *
+ * Since: 1.0
**/
cairo_t *
cairo_create (cairo_surface_t *target)
@@ -258,6 +260,8 @@ _cairo_init (cairo_t *cr,
* cairo_get_reference_count().
*
* Return value: the referenced #cairo_t.
+ *
+ * Since: 1.0
**/
cairo_t *
cairo_reference (cairo_t *cr)
@@ -285,6 +289,8 @@ _cairo_fini (cairo_t *cr)
* Decreases the reference count on @cr by one. If the result
* is zero, then @cr and all associated resources are freed.
* See cairo_reference().
+ *
+ * Since: 1.0
**/
void
cairo_destroy (cairo_t *cr)
@@ -388,6 +394,8 @@ cairo_get_reference_count (cairo_t *cr)
* a #cairo_t is freed. If the reference count of a #cairo_t
* drops to zero in response to a call to cairo_destroy(),
* any saved states will be freed along with the #cairo_t.
+ *
+ * Since: 1.0
**/
void
cairo_save (cairo_t *cr)
@@ -410,6 +418,8 @@ slim_hidden_def(cairo_save);
* Restores @cr to the state saved by a preceding call to
* cairo_save() and removes that state from the stack of
* saved states.
+ *
+ * Since: 1.0
**/
void
cairo_restore (cairo_t *cr)
@@ -592,6 +602,8 @@ cairo_pop_group_to_source (cairo_t *cr)
* each available compositing operator.
*
* The default operator is %CAIRO_OPERATOR_OVER.
+ *
+ * Since: 1.0
**/
void
cairo_set_operator (cairo_t *cr, cairo_operator_t op)
@@ -651,6 +663,8 @@ cairo_set_opacity (cairo_t *cr, double opacity)
*
* The default source pattern is opaque black, (that is, it is
* equivalent to cairo_set_source_rgb(cr, 0.0, 0.0, 0.0)).
+ *
+ * Since: 1.0
**/
void
cairo_set_source_rgb (cairo_t *cr, double red, double green, double blue)
@@ -684,6 +698,8 @@ slim_hidden_def (cairo_set_source_rgb);
*
* The default source pattern is opaque black, (that is, it is
* equivalent to cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 1.0)).
+ *
+ * Since: 1.0
**/
void
cairo_set_source_rgba (cairo_t *cr,
@@ -722,6 +738,8 @@ cairo_set_source_rgba (cairo_t *cr,
* The resulting pattern can be queried with cairo_get_source() so
* that these attributes can be modified if desired, (eg. to create a
* repeating pattern with cairo_pattern_set_extend()).
+ *
+ * Since: 1.0
**/
void
cairo_set_source_surface (cairo_t *cr,
@@ -763,6 +781,8 @@ slim_hidden_def (cairo_set_source_surface);
* The default source pattern is a solid pattern that is opaque black,
* (that is, it is equivalent to cairo_set_source_rgb(cr, 0.0, 0.0,
* 0.0)).
+ *
+ * Since: 1.0
**/
void
cairo_set_source (cairo_t *cr, cairo_pattern_t *source)
@@ -797,6 +817,8 @@ slim_hidden_def (cairo_set_source);
* Return value: the current source pattern. This object is owned by
* cairo. To keep a reference to it, you must call
* cairo_pattern_reference().
+ *
+ * Since: 1.0
**/
cairo_pattern_t *
cairo_get_source (cairo_t *cr)
@@ -822,6 +844,8 @@ cairo_get_source (cairo_t *cr)
* within Cairo is limited by the precision of its internal arithmetic, and
* the prescribed @tolerance is restricted to the smallest
* representable internal value.
+ *
+ * Since: 1.0
**/
void
cairo_set_tolerance (cairo_t *cr, double tolerance)
@@ -849,6 +873,8 @@ slim_hidden_def (cairo_set_tolerance);
*
* Note that this option does not affect text rendering, instead see
* cairo_font_options_set_antialias().
+ *
+ * Since: 1.0
**/
void
cairo_set_antialias (cairo_t *cr, cairo_antialias_t antialias)
@@ -875,6 +901,8 @@ cairo_set_antialias (cairo_t *cr, cairo_antialias_t antialias)
* on the semantics of each available fill rule.
*
* The default fill rule is %CAIRO_FILL_RULE_WINDING.
+ *
+ * Since: 1.0
**/
void
cairo_set_fill_rule (cairo_t *cr, cairo_fill_rule_t fill_rule)
@@ -914,6 +942,8 @@ cairo_set_fill_rule (cairo_t *cr, cairo_fill_rule_t fill_rule)
* construction.
*
* The default line width value is 2.0.
+ *
+ * Since: 1.0
**/
void
cairo_set_line_width (cairo_t *cr, double width)
@@ -947,6 +977,8 @@ slim_hidden_def (cairo_set_line_width);
* construction.
*
* The default line cap style is %CAIRO_LINE_CAP_BUTT.
+ *
+ * Since: 1.0
**/
void
cairo_set_line_cap (cairo_t *cr, cairo_line_cap_t line_cap)
@@ -977,6 +1009,8 @@ slim_hidden_def (cairo_set_line_cap);
* construction.
*
* The default line join style is %CAIRO_LINE_JOIN_MITER.
+ *
+ * Since: 1.0
**/
void
cairo_set_line_join (cairo_t *cr, cairo_line_join_t line_join)
@@ -1023,6 +1057,8 @@ slim_hidden_def (cairo_set_line_join);
* If any value in @dashes is negative, or if all values are 0, then
* @cr will be put into an error state with a status of
* %CAIRO_STATUS_INVALID_DASH.
+ *
+ * Since: 1.0
**/
void
cairo_set_dash (cairo_t *cr,
@@ -1116,6 +1152,8 @@ cairo_get_dash (cairo_t *cr,
*
* A miter limit for a desired angle can be computed as: miter limit =
* 1/sin(angle/2)
+ *
+ * Since: 1.0
**/
void
cairo_set_miter_limit (cairo_t *cr, double limit)
@@ -1141,6 +1179,8 @@ cairo_set_miter_limit (cairo_t *cr, double limit)
* user-space coordinate according to the CTM in place before the new
* call to cairo_translate(). In other words, the translation of the
* user-space origin takes place after any existing transformation.
+ *
+ * Since: 1.0
**/
void
cairo_translate (cairo_t *cr, double tx, double ty)
@@ -1166,6 +1206,8 @@ slim_hidden_def (cairo_translate);
* and Y user-space axes by @sx and @sy respectively. The scaling of
* the axes takes place after any existing transformation of user
* space.
+ *
+ * Since: 1.0
**/
void
cairo_scale (cairo_t *cr, double sx, double sy)
@@ -1192,6 +1234,8 @@ slim_hidden_def (cairo_scale);
* places after any existing transformation of user space. The
* rotation direction for positive angles is from the positive X axis
* toward the positive Y axis.
+ *
+ * Since: 1.0
**/
void
cairo_rotate (cairo_t *cr, double angle)
@@ -1214,6 +1258,8 @@ cairo_rotate (cairo_t *cr, double angle)
* Modifies the current transformation matrix (CTM) by applying
* @matrix as an additional transformation. The new transformation of
* user space takes place after any existing transformation.
+ *
+ * Since: 1.0
**/
void
cairo_transform (cairo_t *cr,
@@ -1237,6 +1283,8 @@ slim_hidden_def (cairo_transform);
*
* Modifies the current transformation matrix (CTM) by setting it
* equal to @matrix.
+ *
+ * Since: 1.0
**/
void
cairo_set_matrix (cairo_t *cr,
@@ -1261,6 +1309,8 @@ slim_hidden_def (cairo_set_matrix);
* to the identity matrix. That is, the user-space and device-space
* axes will be aligned and one user-space unit will transform to one
* device-space unit.
+ *
+ * Since: 1.0
**/
void
cairo_identity_matrix (cairo_t *cr)
@@ -1284,6 +1334,8 @@ cairo_identity_matrix (cairo_t *cr)
* Transform a coordinate from user space to device space by
* multiplying the given point by the current transformation matrix
* (CTM).
+ *
+ * Since: 1.0
**/
void
cairo_user_to_device (cairo_t *cr, double *x, double *y)
@@ -1305,6 +1357,8 @@ slim_hidden_def (cairo_user_to_device);
* function is similar to cairo_user_to_device() except that the
* translation components of the CTM will be ignored when transforming
* (@dx, at dy).
+ *
+ * Since: 1.0
**/
void
cairo_user_to_device_distance (cairo_t *cr, double *dx, double *dy)
@@ -1325,6 +1379,8 @@ slim_hidden_def (cairo_user_to_device_distance);
* Transform a coordinate from device space to user space by
* multiplying the given point by the inverse of the current
* transformation matrix (CTM).
+ *
+ * Since: 1.0
**/
void
cairo_device_to_user (cairo_t *cr, double *x, double *y)
@@ -1346,6 +1402,8 @@ slim_hidden_def (cairo_device_to_user);
* function is similar to cairo_device_to_user() except that the
* translation components of the inverse CTM will be ignored when
* transforming (@dx, at dy).
+ *
+ * Since: 1.0
**/
void
cairo_device_to_user_distance (cairo_t *cr, double *dx, double *dy)
@@ -1362,6 +1420,8 @@ cairo_device_to_user_distance (cairo_t *cr, double *dx, double *dy)
*
* Clears the current path. After this call there will be no path and
* no current point.
+ *
+ * Since: 1.0
**/
void
cairo_new_path (cairo_t *cr)
@@ -1416,6 +1476,8 @@ cairo_new_sub_path (cairo_t *cr)
*
* Begin a new sub-path. After this call the current point will be (@x,
* @y).
+ *
+ * Since: 1.0
**/
void
cairo_move_to (cairo_t *cr, double x, double y)
@@ -1444,6 +1506,8 @@ slim_hidden_def(cairo_move_to);
*
* If there is no current point before the call to cairo_line_to()
* this function will behave as cairo_move_to(@cr, @x, @y).
+ *
+ * Since: 1.0
**/
void
cairo_line_to (cairo_t *cr, double x, double y)
@@ -1477,6 +1541,8 @@ slim_hidden_def (cairo_line_to);
* If there is no current point before the call to cairo_curve_to()
* this function will behave as if preceded by a call to
* cairo_move_to(@cr, @x1, @y1).
+ *
+ * Since: 1.0
**/
void
cairo_curve_to (cairo_t *cr,
@@ -1545,6 +1611,8 @@ slim_hidden_def (cairo_curve_to);
* cairo_arc (cr, 0., 0., 1., 0., 2 * M_PI);
* cairo_restore (cr);
* </programlisting></informalexample>
+ *
+ * Since: 1.0
**/
void
cairo_arc (cairo_t *cr,
@@ -1588,6 +1656,8 @@ cairo_arc (cairo_t *cr,
*
* See cairo_arc() for more details. This function differs only in the
* direction of the arc between the two angles.
+ *
+ * Since: 1.0
**/
void
cairo_arc_negative (cairo_t *cr,
@@ -1663,6 +1733,8 @@ cairo_rel_arc_to (cairo_t *cr,
* It is an error to call this function with no current point. Doing
* so will cause @cr to shutdown with a status of
* %CAIRO_STATUS_NO_CURRENT_POINT.
+ *
+ * Since: 1.0
**/
void
cairo_rel_move_to (cairo_t *cr, double dx, double dy)
@@ -1694,6 +1766,8 @@ cairo_rel_move_to (cairo_t *cr, double dx, double dy)
* It is an error to call this function with no current point. Doing
* so will cause @cr to shutdown with a status of
* %CAIRO_STATUS_NO_CURRENT_POINT.
+ *
+ * Since: 1.0
**/
void
cairo_rel_line_to (cairo_t *cr, double dx, double dy)
@@ -1733,6 +1807,8 @@ slim_hidden_def(cairo_rel_line_to);
* It is an error to call this function with no current point. Doing
* so will cause @cr to shutdown with a status of
* %CAIRO_STATUS_NO_CURRENT_POINT.
+ *
+ * Since: 1.0
**/
void
cairo_rel_curve_to (cairo_t *cr,
@@ -1772,6 +1848,8 @@ cairo_rel_curve_to (cairo_t *cr,
* cairo_rel_line_to (cr, -width, 0);
* cairo_close_path (cr);
* </programlisting></informalexample>
+ *
+ * Since: 1.0
**/
void
cairo_rectangle (cairo_t *cr,
@@ -1831,6 +1909,8 @@ cairo_stroke_to_path (cairo_t *cr)
* not be necessary to save the "last move_to point" during processing
* as the MOVE_TO immediately after the CLOSE_PATH will provide that
* point.
+ *
+ * Since: 1.0
**/
void
cairo_close_path (cairo_t *cr)
@@ -1903,6 +1983,8 @@ cairo_path_extents (cairo_t *cr,
*
* A drawing operator that paints the current source everywhere within
* the current clip region.
+ *
+ * Since: 1.0
**/
void
cairo_paint (cairo_t *cr)
@@ -1927,6 +2009,8 @@ slim_hidden_def (cairo_paint);
* the current clip region using a mask of constant alpha value
* @alpha. The effect is similar to cairo_paint(), but the drawing
* is faded out using the alpha value.
+ *
+ * Since: 1.0
**/
void
cairo_paint_with_alpha (cairo_t *cr,
@@ -1951,6 +2035,8 @@ cairo_paint_with_alpha (cairo_t *cr,
* using the alpha channel of @pattern as a mask. (Opaque
* areas of @pattern are painted with the source, transparent
* areas are not painted.)
+ *
+ * Since: 1.0
**/
void
cairo_mask (cairo_t *cr,
@@ -1988,6 +2074,8 @@ slim_hidden_def (cairo_mask);
* using the alpha channel of @surface as a mask. (Opaque
* areas of @surface are painted with the source, transparent
* areas are not painted.)
+ *
+ * Since: 1.0
**/
void
cairo_mask_surface (cairo_t *cr,
@@ -2042,6 +2130,8 @@ cairo_mask_surface (cairo_t *cr,
*
* In no case will a cap style of %CAIRO_LINE_CAP_BUTT cause anything
* to be drawn in the case of either degenerate segments or sub-paths.
+ *
+ * Since: 1.0
**/
void
cairo_stroke (cairo_t *cr)
@@ -2069,6 +2159,8 @@ slim_hidden_def(cairo_stroke);
* See cairo_set_line_width(), cairo_set_line_join(),
* cairo_set_line_cap(), cairo_set_dash(), and
* cairo_stroke_preserve().
+ *
+ * Since: 1.0
**/
void
cairo_stroke_preserve (cairo_t *cr)
@@ -2093,6 +2185,8 @@ slim_hidden_def(cairo_stroke_preserve);
* filled). After cairo_fill(), the current path will be cleared from
* the cairo context. See cairo_set_fill_rule() and
* cairo_fill_preserve().
+ *
+ * Since: 1.0
**/
void
cairo_fill (cairo_t *cr)
@@ -2117,6 +2211,8 @@ cairo_fill (cairo_t *cr)
* path within the cairo context.
*
* See cairo_set_fill_rule() and cairo_fill().
+ *
+ * Since: 1.0
**/
void
cairo_fill_preserve (cairo_t *cr)
@@ -2143,6 +2239,8 @@ slim_hidden_def(cairo_fill_preserve);
*
* This is a convenience function that simply calls
* cairo_surface_copy_page() on @cr's target.
+ *
+ * Since: 1.0
**/
void
cairo_copy_page (cairo_t *cr)
@@ -2166,6 +2264,8 @@ cairo_copy_page (cairo_t *cr)
*
* This is a convenience function that simply calls
* cairo_surface_show_page() on @cr's target.
+ *
+ * Since: 1.0
**/
void
cairo_show_page (cairo_t *cr)
@@ -2197,6 +2297,8 @@ cairo_show_page (cairo_t *cr)
*
* Return value: A non-zero value if the point is inside, or zero if
* outside.
+ *
+ * Since: 1.0
**/
cairo_bool_t
cairo_in_stroke (cairo_t *cr, double x, double y)
@@ -2229,6 +2331,8 @@ cairo_in_stroke (cairo_t *cr, double x, double y)
*
* Return value: A non-zero value if the point is inside, or zero if
* outside.
+ *
+ * Since: 1.0
**/
cairo_bool_t
cairo_in_fill (cairo_t *cr, double x, double y)
@@ -2273,6 +2377,8 @@ cairo_in_fill (cairo_t *cr, double x, double y)
* See cairo_stroke(), cairo_set_line_width(), cairo_set_line_join(),
* cairo_set_line_cap(), cairo_set_dash(), and
* cairo_stroke_preserve().
+ *
+ * Since: 1.0
**/
void
cairo_stroke_extents (cairo_t *cr,
@@ -2322,6 +2428,8 @@ cairo_stroke_extents (cairo_t *cr,
* if the non-inked path extents are desired.
*
* See cairo_fill(), cairo_set_fill_rule() and cairo_fill_preserve().
+ *
+ * Since: 1.0
**/
void
cairo_fill_extents (cairo_t *cr,
@@ -2368,6 +2476,8 @@ cairo_fill_extents (cairo_t *cr,
* calling cairo_clip() within a cairo_save()/cairo_restore()
* pair. The only other means of increasing the size of the clip
* region is cairo_reset_clip().
+ *
+ * Since: 1.0
**/
void
cairo_clip (cairo_t *cr)
@@ -2403,6 +2513,8 @@ cairo_clip (cairo_t *cr)
* calling cairo_clip_preserve() within a cairo_save()/cairo_restore()
* pair. The only other means of increasing the size of the clip
* region is cairo_reset_clip().
+ *
+ * Since: 1.0
**/
void
cairo_clip_preserve (cairo_t *cr)
@@ -2433,6 +2545,8 @@ slim_hidden_def(cairo_clip_preserve);
* higher-level code which calls cairo_clip(). Consider using
* cairo_save() and cairo_restore() around cairo_clip() as a more
* robust means of temporarily restricting the clip region.
+ *
+ * Since: 1.0
**/
void
cairo_reset_clip (cairo_t *cr)
@@ -2593,6 +2707,8 @@ cairo_copy_clip_rectangle_list (cairo_t *cr)
*
* This function is equivalent to a call to cairo_toy_font_face_create()
* followed by cairo_set_font_face().
+ *
+ * Since: 1.0
**/
void
cairo_select_font_face (cairo_t *cr,
@@ -2626,6 +2742,8 @@ cairo_select_font_face (cairo_t *cr,
* will be stored.
*
* Gets the font extents for the currently selected font.
+ *
+ * Since: 1.0
**/
void
cairo_font_extents (cairo_t *cr,
@@ -2655,6 +2773,8 @@ cairo_font_extents (cairo_t *cr,
* Replaces the current #cairo_font_face_t object in the #cairo_t with
* @font_face. The replaced font face in the #cairo_t will be
* destroyed if there are no other references to it.
+ *
+ * Since: 1.0
**/
void
cairo_set_font_face (cairo_t *cr,
@@ -2687,6 +2807,8 @@ cairo_set_font_face (cairo_t *cr,
* objects it is passed to, (for example, calling
* cairo_set_font_face() with a nil font will trigger an error that
* will shutdown the #cairo_t object).
+ *
+ * Since: 1.0
**/
cairo_font_face_t *
cairo_get_font_face (cairo_t *cr)
@@ -2711,6 +2833,8 @@ cairo_get_font_face (cairo_t *cr)
* If text is drawn without a call to cairo_set_font_size(), (nor
* cairo_set_font_matrix() nor cairo_set_scaled_font()), the default
* font size is 10.0.
+ *
+ * Since: 1.0
**/
void
cairo_set_font_size (cairo_t *cr, double size)
@@ -2738,6 +2862,8 @@ slim_hidden_def (cairo_set_font_size);
* simple scale is used (see cairo_set_font_size()), but a more
* complex font matrix can be used to shear the font
* or stretch it unequally along the two axes
+ *
+ * Since: 1.0
**/
void
cairo_set_font_matrix (cairo_t *cr,
@@ -2761,6 +2887,8 @@ slim_hidden_def (cairo_set_font_matrix);
*
* Stores the current font matrix into @matrix. See
* cairo_set_font_matrix().
+ *
+ * Since: 1.0
**/
void
cairo_get_font_matrix (cairo_t *cr, cairo_matrix_t *matrix)
@@ -2783,6 +2911,8 @@ cairo_get_font_matrix (cairo_t *cr, cairo_matrix_t *matrix)
* options derived from underlying surface; if the value in @options
* has a default value (like %CAIRO_ANTIALIAS_DEFAULT), then the value
* from the surface is used.
+ *
+ * Since: 1.0
**/
void
cairo_set_font_options (cairo_t *cr,
@@ -2815,6 +2945,8 @@ slim_hidden_def (cairo_set_font_options);
* Note that the returned options do not include any options derived
* from the underlying surface; they are literally the options
* passed to cairo_set_font_options().
+ *
+ * Since: 1.0
**/
void
cairo_get_font_options (cairo_t *cr,
@@ -2919,6 +3051,8 @@ slim_hidden_def (cairo_get_scaled_font);
* characters. In particular, trailing whitespace characters are
* likely to not affect the size of the rectangle, though they will
* affect the x_advance and y_advance values.
+ *
+ * Since: 1.0
**/
void
cairo_text_extents (cairo_t *cr,
@@ -2985,6 +3119,8 @@ cairo_text_extents (cairo_t *cr,
*
* Note that whitespace glyphs do not contribute to the size of the
* rectangle (extents.width and extents.height).
+ *
+ * Since: 1.0
**/
void
cairo_glyph_extents (cairo_t *cr,
@@ -3048,6 +3184,8 @@ cairo_glyph_extents (cairo_t *cr,
* and simple programs, but it is not expected to be adequate for
* serious text-using applications. See cairo_show_glyphs() for the
* "real" text display API in cairo.
+ *
+ * Since: 1.0
**/
void
cairo_show_text (cairo_t *cr, const char *utf8)
@@ -3148,6 +3286,8 @@ cairo_show_text (cairo_t *cr, const char *utf8)
* A drawing operator that generates the shape from an array of glyphs,
* rendered according to the current font face, font size
* (font matrix), and font options.
+ *
+ * Since: 1.0
**/
void
cairo_show_glyphs (cairo_t *cr, const cairo_glyph_t *glyphs, int num_glyphs)
@@ -3307,6 +3447,8 @@ cairo_show_text_glyphs (cairo_t *cr,
* and simple programs, but it is not expected to be adequate for
* serious text-using applications. See cairo_glyph_path() for the
* "real" text path API in cairo.
+ *
+ * Since: 1.0
**/
void
cairo_text_path (cairo_t *cr, const char *utf8)
@@ -3377,6 +3519,8 @@ cairo_text_path (cairo_t *cr, const char *utf8)
* Adds closed paths for the glyphs to the current path. The generated
* path if filled, achieves an effect similar to that of
* cairo_show_glyphs().
+ *
+ * Since: 1.0
**/
void
cairo_glyph_path (cairo_t *cr, const cairo_glyph_t *glyphs, int num_glyphs)
@@ -3411,6 +3555,8 @@ cairo_glyph_path (cairo_t *cr, const cairo_glyph_t *glyphs, int num_glyphs)
* Gets the current compositing operator for a cairo context.
*
* Return value: the current compositing operator.
+ *
+ * Since: 1.0
**/
cairo_operator_t
cairo_get_operator (cairo_t *cr)
@@ -3447,6 +3593,8 @@ cairo_get_opacity (cairo_t *cr)
* Gets the current tolerance value, as set by cairo_set_tolerance().
*
* Return value: the current tolerance value.
+ *
+ * Since: 1.0
**/
double
cairo_get_tolerance (cairo_t *cr)
@@ -3466,6 +3614,8 @@ slim_hidden_def (cairo_get_tolerance);
* cairo_set_antialias().
*
* Return value: the current shape antialiasing mode.
+ *
+ * Since: 1.0
**/
cairo_antialias_t
cairo_get_antialias (cairo_t *cr)
@@ -3525,6 +3675,8 @@ cairo_has_current_point (cairo_t *cr)
*
* Some functions unset the current path and as a result, current point:
* cairo_fill(), cairo_stroke().
+ *
+ * Since: 1.0
**/
void
cairo_get_current_point (cairo_t *cr, double *x_ret, double *y_ret)
@@ -3552,6 +3704,8 @@ slim_hidden_def(cairo_get_current_point);
* Gets the current fill rule, as set by cairo_set_fill_rule().
*
* Return value: the current fill rule.
+ *
+ * Since: 1.0
**/
cairo_fill_rule_t
cairo_get_fill_rule (cairo_t *cr)
@@ -3572,6 +3726,8 @@ cairo_get_fill_rule (cairo_t *cr)
* cairo_get_line_width().
*
* Return value: the current line width.
+ *
+ * Since: 1.0
**/
double
cairo_get_line_width (cairo_t *cr)
@@ -3590,6 +3746,8 @@ slim_hidden_def (cairo_get_line_width);
* Gets the current line cap style, as set by cairo_set_line_cap().
*
* Return value: the current line cap style.
+ *
+ * Since: 1.0
**/
cairo_line_cap_t
cairo_get_line_cap (cairo_t *cr)
@@ -3607,6 +3765,8 @@ cairo_get_line_cap (cairo_t *cr)
* Gets the current line join style, as set by cairo_set_line_join().
*
* Return value: the current line join style.
+ *
+ * Since: 1.0
**/
cairo_line_join_t
cairo_get_line_join (cairo_t *cr)
@@ -3624,6 +3784,8 @@ cairo_get_line_join (cairo_t *cr)
* Gets the current miter limit, as set by cairo_set_miter_limit().
*
* Return value: the current miter limit.
+ *
+ * Since: 1.0
**/
double
cairo_get_miter_limit (cairo_t *cr)
@@ -3640,6 +3802,8 @@ cairo_get_miter_limit (cairo_t *cr)
* @matrix: return value for the matrix
*
* Stores the current transformation matrix (CTM) into @matrix.
+ *
+ * Since: 1.0
**/
void
cairo_get_matrix (cairo_t *cr, cairo_matrix_t *matrix)
@@ -3668,6 +3832,8 @@ slim_hidden_def (cairo_get_matrix);
*
* Return value: the target surface. This object is owned by cairo. To
* keep a reference to it, you must call cairo_surface_reference().
+ *
+ * Since: 1.0
**/
cairo_surface_t *
cairo_get_target (cairo_t *cr)
@@ -3733,6 +3899,8 @@ cairo_get_group_target (cairo_t *cr)
* Return value: the copy of the current path. The caller owns the
* returned object and should call cairo_path_destroy() when finished
* with it.
+ *
+ * Since: 1.0
**/
cairo_path_t *
cairo_copy_path (cairo_t *cr)
@@ -3775,6 +3943,8 @@ cairo_copy_path (cairo_t *cr)
* Return value: the copy of the current path. The caller owns the
* returned object and should call cairo_path_destroy() when finished
* with it.
+ *
+ * Since: 1.0
**/
cairo_path_t *
cairo_copy_path_flat (cairo_t *cr)
@@ -3796,6 +3966,8 @@ cairo_copy_path_flat (cairo_t *cr)
* #cairo_path_t for details on how the path data structure should be
* initialized, and note that <literal>path->status</literal> must be
* initialized to %CAIRO_STATUS_SUCCESS.
+ *
+ * Since: 1.0
**/
void
cairo_append_path (cairo_t *cr,
@@ -3840,6 +4012,8 @@ cairo_append_path (cairo_t *cr,
* Checks whether an error has previously occurred for this context.
*
* Returns: the current status of this context, see #cairo_status_t
+ *
+ * Since: 1.0
**/
cairo_status_t
cairo_status (cairo_t *cr)
diff --git a/src/cairo.h b/src/cairo.h
index 5a4d6b1..54696ad 100644
--- a/src/cairo.h
+++ b/src/cairo.h
@@ -101,6 +101,8 @@ cairo_version_string (void);
* /<!-- -->* do something *<!-- -->/
* }
* </programlisting></informalexample>
+ *
+ * Since: 1.0
**/
typedef int cairo_bool_t;
@@ -116,6 +118,8 @@ typedef int cairo_bool_t;
*
* Memory management of #cairo_t is done with
* cairo_reference() and cairo_destroy().
+ *
+ * Since: 1.0
**/
typedef struct _cairo cairo_t;
@@ -143,6 +147,8 @@ typedef struct _cairo cairo_t;
*
* Memory management of #cairo_surface_t is done with
* cairo_surface_reference() and cairo_surface_destroy().
+ *
+ * Since: 1.0
**/
typedef struct _cairo_surface cairo_surface_t;
@@ -180,6 +186,8 @@ typedef struct _cairo_device cairo_device_t;
* x_new = xx * x + xy * y + x0;
* y_new = yx * x + yy * y + y0;
* </programlisting>
+ *
+ * Since: 1.0
**/
typedef struct _cairo_matrix {
double xx; double yx;
@@ -206,6 +214,8 @@ typedef struct _cairo_matrix {
*
* Memory management of #cairo_pattern_t is done with
* cairo_pattern_reference() and cairo_pattern_destroy().
+ *
+ * Since: 1.0
**/
typedef struct _cairo_pattern cairo_pattern_t;
@@ -216,6 +226,8 @@ typedef struct _cairo_pattern cairo_pattern_t;
* #cairo_destroy_func_t the type of function which is called when a
* data element is destroyed. It is passed the pointer to the data
* element and should free any memory and resources allocated for it.
+ *
+ * Since: 1.0
**/
typedef void (*cairo_destroy_func_t) (void *data);
@@ -228,6 +240,8 @@ typedef void (*cairo_destroy_func_t) (void *data);
* and there is no need to initialize the object; only the unique
* address of a #cairo_data_key_t object is used. Typically, you
* would just use the address of a static #cairo_data_key_t object.
+ *
+ * Since: 1.0
**/
typedef struct _cairo_user_data_key {
int unused;
@@ -288,6 +302,8 @@ typedef struct _cairo_user_data_key {
*
* New entries may be added in future versions. Use cairo_status_to_string()
* to get a human-readable representation of an error message.
+ *
+ * Since: 1.0
**/
typedef enum _cairo_status {
CAIRO_STATUS_SUCCESS = 0,
@@ -346,6 +362,8 @@ typedef enum _cairo_status {
* Note: The large values here are designed to keep #cairo_content_t
* values distinct from #cairo_format_t values so that the
* implementation can detect the error if users confuse the two types.
+ *
+ * Since: 1.0
**/
typedef enum _cairo_content {
CAIRO_CONTENT_COLOR = 0x1000,
@@ -381,6 +399,8 @@ typedef enum _cairo_content {
* image data.
*
* New entries may be added in future versions.
+ *
+ * Since: 1.0
**/
typedef enum _cairo_format {
CAIRO_FORMAT_INVALID = -1,
@@ -408,6 +428,8 @@ typedef enum _cairo_format {
* %CAIRO_STATUS_WRITE_ERROR otherwise.
*
* Returns: the status code of the write operation
+ *
+ * Since: 1.0
**/
typedef cairo_status_t (*cairo_write_func_t) (void *closure,
const unsigned char *data,
@@ -428,6 +450,8 @@ typedef cairo_status_t (*cairo_write_func_t) (void *closure,
* %CAIRO_STATUS_READ_ERROR otherwise.
*
* Returns: the status code of the read operation
+ *
+ * Since: 1.0
**/
typedef cairo_status_t (*cairo_read_func_t) (void *closure,
unsigned char *data,
@@ -572,6 +596,8 @@ cairo_pop_group_to_source (cairo_t *cr);
* For a more detailed explanation of the effects of each operator, including
* the mathematical definitions, see
* <ulink url="http://cairographics.org/operators/">http://cairographics.org/operators/</ulink>.
+ *
+ * Since: 1.0
**/
typedef enum _cairo_operator {
CAIRO_OPERATOR_CLEAR,
@@ -666,6 +692,8 @@ cairo_set_tolerance (cairo_t *cr, double tolerance);
*
* The interpretation of @CAIRO_ANTIALIAS_DEFAULT is left entirely up to
* the backend, typically this will be similar to @CAIRO_ANTIALIAS_GOOD.
+ *
+ * Since: 1.0
**/
typedef enum _cairo_antialias {
CAIRO_ANTIALIAS_DEFAULT,
@@ -708,6 +736,8 @@ cairo_set_antialias (cairo_t *cr, cairo_antialias_t antialias);
* The default fill rule is %CAIRO_FILL_RULE_WINDING.
*
* New entries may be added in future versions.
+ *
+ * Since: 1.0
**/
typedef enum _cairo_fill_rule {
CAIRO_FILL_RULE_WINDING,
@@ -729,6 +759,8 @@ cairo_set_line_width (cairo_t *cr, double width);
* Specifies how to render the endpoints of the path when stroking.
*
* The default line cap style is %CAIRO_LINE_CAP_BUTT.
+ *
+ * Since: 1.0
**/
typedef enum _cairo_line_cap {
CAIRO_LINE_CAP_BUTT,
@@ -751,6 +783,8 @@ cairo_set_line_cap (cairo_t *cr, cairo_line_cap_t line_cap);
* Specifies how to render the junction of two lines when stroking.
*
* The default line join style is %CAIRO_LINE_JOIN_MITER.
+ *
+ * Since: 1.0
**/
typedef enum _cairo_line_join {
CAIRO_LINE_JOIN_MITER,
@@ -997,6 +1031,8 @@ cairo_rectangle_list_destroy (cairo_rectangle_list_t *rectangle_list);
*
* Memory management of #cairo_scaled_font_t is done with
* cairo_scaled_font_reference() and cairo_scaled_font_destroy().
+ *
+ * Since: 1.0
**/
typedef struct _cairo_scaled_font cairo_scaled_font_t;
@@ -1016,6 +1052,8 @@ typedef struct _cairo_scaled_font cairo_scaled_font_t;
*
* Memory management of #cairo_font_face_t is done with
* cairo_font_face_reference() and cairo_font_face_destroy().
+ *
+ * Since: 1.0
**/
typedef struct _cairo_font_face cairo_font_face_t;
@@ -1042,6 +1080,8 @@ typedef struct _cairo_font_face cairo_font_face_t;
* Note that the offsets given by @x and @y are not cumulative. When
* drawing or measuring text, each glyph is individually positioned
* with respect to the overall origin
+ *
+ * Since: 1.0
**/
typedef struct {
unsigned long index;
@@ -1125,6 +1165,8 @@ typedef enum _cairo_text_cluster_flags {
* doubled. They will change slightly due to hinting (so you can't
* assume that metrics are independent of the transformation matrix),
* but otherwise will remain unchanged.
+ *
+ * Since: 1.0
**/
typedef struct {
double x_bearing;
@@ -1175,6 +1217,8 @@ typedef struct {
* not be doubled. They will change slightly due to hinting (so you
* can't assume that metrics are independent of the transformation
* matrix), but otherwise will remain unchanged.
+ *
+ * Since: 1.0
**/
typedef struct {
double ascent;
@@ -1191,6 +1235,8 @@ typedef struct {
* @CAIRO_FONT_SLANT_OBLIQUE: Oblique font style
*
* Specifies variants of a font face based on their slant.
+ *
+ * Since: 1.0
**/
typedef enum _cairo_font_slant {
CAIRO_FONT_SLANT_NORMAL,
@@ -1204,6 +1250,8 @@ typedef enum _cairo_font_slant {
* @CAIRO_FONT_WEIGHT_BOLD: Bold font weight
*
* Specifies variants of a font face based on their weight.
+ *
+ * Since: 1.0
**/
typedef enum _cairo_font_weight {
CAIRO_FONT_WEIGHT_NORMAL,
@@ -1226,6 +1274,8 @@ typedef enum _cairo_font_weight {
* The subpixel order specifies the order of color elements within
* each pixel on the display device when rendering with an
* antialiasing mode of %CAIRO_ANTIALIAS_SUBPIXEL.
+ *
+ * Since: 1.0
**/
typedef enum _cairo_subpixel_order {
CAIRO_SUBPIXEL_ORDER_DEFAULT,
@@ -1256,6 +1306,8 @@ typedef enum _cairo_subpixel_order {
* styles are supported by all font backends.
*
* New entries may be added in future versions.
+ *
+ * Since: 1.0
**/
typedef enum _cairo_hint_style {
CAIRO_HINT_STYLE_DEFAULT,
@@ -1277,6 +1329,8 @@ typedef enum _cairo_hint_style {
* device space. Doing this improves the consistency of
* letter and line spacing, however it also means that text
* will be laid out differently at different zoom factors.
+ *
+ * Since: 1.0
**/
typedef enum _cairo_hint_metrics {
CAIRO_HINT_METRICS_DEFAULT,
@@ -1303,6 +1357,8 @@ typedef enum _cairo_hint_metrics {
* cairo_font_options_hash() should be used to copy, check
* for equality, merge, or compute a hash value of
* #cairo_font_options_t objects.
+ *
+ * Since: 1.0
**/
typedef struct _cairo_font_options cairo_font_options_t;
@@ -1901,6 +1957,8 @@ cairo_get_group_target (cairo_t *cr);
* #cairo_path_data_t is used to describe the type of one portion
* of a path when represented as a #cairo_path_t.
* See #cairo_path_data_t for details.
+ *
+ * Since: 1.0
**/
typedef enum _cairo_path_data_type {
CAIRO_PATH_MOVE_TO,
@@ -1974,6 +2032,8 @@ typedef enum _cairo_path_data_type {
* always use <literal>data->header.length</literal> to
* iterate over the path data, instead of hardcoding the number of
* elements for each element type.
+ *
+ * Since: 1.0
**/
typedef union _cairo_path_data_t cairo_path_data_t;
union _cairo_path_data_t {
@@ -2004,6 +2064,8 @@ union _cairo_path_data_t {
* array. This number is larger than the number of independent path
* portions (defined in #cairo_path_data_type_t), since the data
* includes both headers and coordinates for each portion.
+ *
+ * Since: 1.0
**/
typedef struct cairo_path {
cairo_status_t status;
@@ -2793,6 +2855,8 @@ cairo_pattern_get_matrix (cairo_pattern_t *pattern,
* and %CAIRO_EXTEND_PAD for gradient patterns.
*
* New entries may be added in future versions.
+ *
+ * Since: 1.0
**/
typedef enum _cairo_extend {
CAIRO_EXTEND_NONE,
@@ -2824,6 +2888,8 @@ cairo_pattern_get_extend (cairo_pattern_t *pattern);
* applied when reading pixel values from patterns. See
* cairo_pattern_set_filter() for indicating the desired filter to be
* used with a particular pattern.
+ *
+ * Since: 1.0
**/
typedef enum _cairo_filter {
CAIRO_FILTER_FAST,
diff --git a/src/win32/cairo-win32-display-surface.c b/src/win32/cairo-win32-display-surface.c
index f393cbe..08119d2 100644
--- a/src/win32/cairo-win32-display-surface.c
+++ b/src/win32/cairo-win32-display-surface.c
@@ -93,6 +93,8 @@
*
* Defined if the Microsoft Windows surface backend is available.
* This macro can be used to conditionally compile backend-specific code.
+ *
+ * Since: 1.0
**/
static const cairo_surface_backend_t cairo_win32_display_surface_backend;
@@ -910,6 +912,8 @@ static const cairo_surface_backend_t cairo_win32_display_surface_backend = {
* cairo_win32_surface_create_with_dib().
*
* Return value: the newly created surface
+ *
+ * Since: 1.0
**/
cairo_surface_t *
cairo_win32_surface_create (HDC hdc)
diff --git a/src/win32/cairo-win32-font.c b/src/win32/cairo-win32-font.c
index 8ad4832..a65d81b 100644
--- a/src/win32/cairo-win32-font.c
+++ b/src/win32/cairo-win32-font.c
@@ -84,6 +84,8 @@
*
* Defined if the Microsoft Windows font backend is available.
* This macro can be used to conditionally compile backend-specific code.
+ *
+ * Since: 1.8
**/
const cairo_scaled_font_backend_t _cairo_win32_scaled_font_backend;
@@ -2031,6 +2033,8 @@ _cairo_win32_font_face_keys_equal (const void *key_a,
*
* Return value: a newly created #cairo_font_face_t. Free with
* cairo_font_face_destroy() when you are done using it.
+ *
+ * Since: 1.6
**/
cairo_font_face_t *
cairo_win32_font_face_create_for_logfontw_hfont (LOGFONTW *logfont, HFONT font)
@@ -2100,6 +2104,8 @@ FAIL:
*
* Return value: a newly created #cairo_font_face_t. Free with
* cairo_font_face_destroy() when you are done using it.
+ *
+ * Since: 1.0
**/
cairo_font_face_t *
cairo_win32_font_face_create_for_logfontw (LOGFONTW *logfont)
@@ -2120,6 +2126,8 @@ cairo_win32_font_face_create_for_logfontw (LOGFONTW *logfont)
*
* Return value: a newly created #cairo_font_face_t. Free with
* cairo_font_face_destroy() when you are done using it.
+ *
+ * Since: 1.2
**/
cairo_font_face_t *
cairo_win32_font_face_create_for_hfont (HFONT font)
@@ -2166,6 +2174,8 @@ _cairo_scaled_font_is_win32 (cairo_scaled_font_t *scaled_font)
* Return value: %CAIRO_STATUS_SUCCESS if the operation succeeded.
* otherwise an error such as %CAIRO_STATUS_NO_MEMORY and
* the device context is unchanged.
+ *
+ * Since: 1.0
**/
cairo_status_t
cairo_win32_scaled_font_select_font (cairo_scaled_font_t *scaled_font,
@@ -2215,6 +2225,8 @@ cairo_win32_scaled_font_select_font (cairo_scaled_font_t *scaled_font,
* @scaled_font: A scaled font from the Win32 font backend.
*
* Releases any resources allocated by cairo_win32_scaled_font_select_font()
+ *
+ * Since: 1.0
**/
void
cairo_win32_scaled_font_done_font (cairo_scaled_font_t *scaled_font)
@@ -2235,6 +2247,8 @@ cairo_win32_scaled_font_done_font (cairo_scaled_font_t *scaled_font)
*
* Return value: factor to multiply logical units by to get font space
* coordinates.
+ *
+ * Since: 1.0
**/
double
cairo_win32_scaled_font_get_metrics_factor (cairo_scaled_font_t *scaled_font)
diff --git a/src/win32/cairo-win32-surface.c b/src/win32/cairo-win32-surface.c
index ec2dd95..7cd46fc 100644
--- a/src/win32/cairo-win32-surface.c
+++ b/src/win32/cairo-win32-surface.c
@@ -87,6 +87,8 @@
*
* Defined if the Microsoft Windows surface backend is available.
* This macro can be used to conditionally compile backend-specific code.
+ *
+ * Since: 1.0
**/
/**
--
1.7.5.4
More information about the cairo
mailing list