[cairo-commit] [cairo-www] src/matrix_transform.mdwn src/operators.mdwn src/tutorial.mdwn

Nis Martensen nmartensen at freedesktop.org
Sun May 1 13:38:16 PDT 2011


 src/matrix_transform.mdwn |    2 
 src/operators.mdwn        |    4 -
 src/tutorial.mdwn         |  108 +++++++++++++++++++++++-----------------------
 3 files changed, 57 insertions(+), 57 deletions(-)

New commits:
commit d22391f83096b8159e220ad15c845466cae0f059
Author: Nis Martensen <nis.martensen at web.de>
Date:   Sun May 1 22:26:38 2011 +0200

    fix broken links to the manual
    
    Somebody did a change between cairo 1.9.10 and 1.9.12 that renamed many
    pages in the manual. When the online reference manual was updated from
    1.8 to 1.10, this broke some links in the wiki.
    
    The following replacements should fix that:
    
    s;manual/cairo-context\.html;manual/cairo-cairo-t.html;g
    s;manual/cairo-surface\.html;manual/cairo-cairo-surface-t.html;g
    s;manual/cairo-pattern\.html;manual/cairo-cairo-pattern-t.html;g
    s;manual/cairo-paths\.html;manual/cairo-Paths.html;g
    s;manual/cairo-font-options\.html;manual/cairo-cairo-font-options-t.html;g
    s;manual/cairo-matrix\.html;manual/cairo-cairo-matrix-t.html;g
    s;manual/cairo-transformations\.html;manual/cairo-Transformations.html;g

diff --git a/src/matrix_transform.mdwn b/src/matrix_transform.mdwn
index 5ce6c0b..60f6396 100644
--- a/src/matrix_transform.mdwn
+++ b/src/matrix_transform.mdwn
@@ -30,4 +30,4 @@ The rule of matrix multiplication is illustrated with a picture here:
 In a cairo.matrix(1,2,3,4,5,6), 1 is a11, 2 is a21, 3 is a12, 4 is a22, 5 is a13 and 6 is a23.
 a31 and a32 are 0, a33 is 1. 
 
-Cairo provides matrix <a href="http://cairographics.org/manual/cairo-matrix.html#cairo-matrix-multiply">multiplication</a> and some other matrix <a href="http://cairographics.org/manual/cairo-matrix.html">functions</a>.
+Cairo provides matrix <a href="http://cairographics.org/manual/cairo-cairo-matrix-t.html#cairo-matrix-multiply">multiplication</a> and some other matrix <a href="http://cairographics.org/manual/cairo-cairo-matrix-t.html">functions</a>.
diff --git a/src/operators.mdwn b/src/operators.mdwn
index 60f6993..69b3d63 100644
--- a/src/operators.mdwn
+++ b/src/operators.mdwn
@@ -41,7 +41,7 @@ destination.
 ## Setting the compositing operator
 
 The current operator is now set using
-[`cairo_set_operator()`](http://cairographics.org/manual/cairo-context.html#cairo-set-operator).
+[`cairo_set_operator()`](http://cairographics.org/manual/cairo-cairo-t.html#cairo-set-operator).
 
 ## The Source
 
@@ -656,7 +656,7 @@ This section augments the documentation of cairo's compositing model
 by describing how clipping and masking are taken into account when
 rendering.  In this context the <i>clip</i> and <i>mask</i> are treated as
 cairo surfaces with <a
-href="http://cairographics.org/manual/cairo-surface.html#cairo-content-t">alpha
+href="http://cairographics.org/manual/cairo-cairo-surface-t.html#cairo-content-t">alpha
 content</a> that both default to full opaqueness when not explicitly given.
 The basic approach to clipping in cairo is to first perform the
 operation without clipping and then interpolating by the clip
diff --git a/src/tutorial.mdwn b/src/tutorial.mdwn
index d4970c8..caa4103 100644
--- a/src/tutorial.mdwn
+++ b/src/tutorial.mdwn
@@ -90,7 +90,7 @@ The source is the "paint" you're about to work with. I show this as it
 is&mdash;plain black for several examples&mdash;but translucent to show
 lower layers.  Unlike real paint, it doesn't have to be a single color;
 it can be a
-[pattern](http://www.cairographics.org/manual/cairo-pattern.html) or
+[pattern](http://www.cairographics.org/manual/cairo-cairo-pattern-t.html) or
 even a previously created destination
 [surface](http://www.cairographics.org/manual/cairo-surfaces.html) (see <a href="http://cairographics.org/FAQ/#paint_from_a_surface">How do I paint from one surface to another?</a>. Also
 unlike real paint it can contain transparency information&mdash;the
@@ -152,13 +152,13 @@ all similar. They differ by how they construct the mask.
 /></a></div>
 
 The
-[`cairo_stroke()`](http://www.cairographics.org/manual/cairo-context.html#cairo-stroke)
+[`cairo_stroke()`](http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-stroke)
 operation takes a virtual pen along the path. It allows the source to
 transfer through the mask in a thin (or thick) line around the path,
 according to the pen's
-[line width](http://www.cairographics.org/manual/cairo-context.html#cairo-set-line-width),
-[dash style](http://www.cairographics.org/manual/cairo-context.html#cairo-set-dash),
-and [line caps](http://www.cairographics.org/manual/cairo-context.html#cairo-set-line-cap).
+[line width](http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-set-line-width),
+[dash style](http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-set-dash),
+and [line caps](http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-set-line-cap).
 
 	cairo_set_line_width (cr, 0.1);
 	cairo_set_source_rgb (cr, 0, 0, 0);
@@ -170,13 +170,13 @@ and [line caps](http://www.cairographics.org/manual/cairo-context.html#cairo-set
 <div class="tutright"><a href="fill.c"><img src="fill.png" alt="" /></a></div>
 
 The
-[`cairo_fill()`](http://www.cairographics.org/manual/cairo-context.html#cairo-fill)
+[`cairo_fill()`](http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-fill)
 operation instead uses the path like the lines of a coloring book, and
 allows the source through the mask within the hole whose boundaries are
 the path. For complex paths (paths with multiple closed
 sub-paths&mdash;like a donut&mdash;or paths that self-intersect) this is
 influenced by the
-[fill rule](http://www.cairographics.org/manual/cairo-context.html#cairo-set-fill-rule).
+[fill rule](http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-set-fill-rule).
 Note that while stroking the path transfers the source for half of the
 line width on each side of the path, filling a path fills directly up to
 the edge of the path and no further.
@@ -194,9 +194,9 @@ The
 [`cairo_show_text()`](http://www.cairographics.org/manual/cairo-text.html#cairo-show-text)
 operation forms the mask from text. It may be easier to think of
 `cairo_show_text()` as a shortcut for creating a path with
-[`cairo_text_path()`](http://www.cairographics.org/manual/cairo-paths.html#cairo-text-path)
+[`cairo_text_path()`](http://www.cairographics.org/manual/cairo-Paths.html#cairo-text-path)
 and then using
-[`cairo_fill()`](http://www.cairographics.org/manual/cairo-context.html#cairo-fill)
+[`cairo_fill()`](http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-fill)
 to transfer it. Be aware `cairo_show_text()` caches glyphs so is much
 more efficient if you work with a lot of text.
 
@@ -216,12 +216,12 @@ more efficient if you work with a lot of text.
 /></a></div>
 
 The
-[`cairo_paint()`](http://www.cairographics.org/manual/cairo-context.html#cairo-paint)
+[`cairo_paint()`](http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-paint)
 operation uses a mask that transfers the entire source to the
 destination. Some people consider this an infinitely large mask, and
 others consider it no mask; the result is the same. The related
 operation
-[`cairo_paint_with_alpha()`](http://www.cairographics.org/manual/cairo-context.html#cairo-paint-with-alpha)
+[`cairo_paint_with_alpha()`](http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-paint-with-alpha)
 similarly allows transfer of the full source to destination, but it
 transfers only the provided percentage of the color.
 
@@ -233,9 +233,9 @@ transfers only the provided percentage of the color.
 <div class="tutright"><a href="mask.c"><img src="mask.png" alt="" /></a></div>
 
 The
-[`cairo_mask()`](http://www.cairographics.org/manual/cairo-context.html#cairo-mask)
+[`cairo_mask()`](http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-mask)
 and
-[`cairo_mask_surface()`](http://www.cairographics.org/manual/cairo-context.html#cairo-mask-surface)
+[`cairo_mask_surface()`](http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-mask-surface)
 operations allow transfer according to the transparency/opacity of a
 second source pattern or surface. Where the pattern or surface is
 opaque, the current source is transferred to the destination.  Where the
@@ -257,20 +257,20 @@ pattern or surface is transparent, nothing is transferred.
 <h1 id="L1drawing">Drawing with Cairo</h1>
 
 In order to create an image you desire, you have to prepare the
-[context](http://www.cairographics.org/manual/cairo-context.html) for
+[context](http://www.cairographics.org/manual/cairo-cairo-t.html) for
 each of the drawing verbs. To use
-[`cairo_stroke()`](http://www.cairographics.org/manual/cairo-context.html#cairo-stroke)
+[`cairo_stroke()`](http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-stroke)
 or
-[`cairo_fill()`](http://www.cairographics.org/manual/cairo-context.html#cairo-fill)
+[`cairo_fill()`](http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-fill)
 you first need a path. To use
 [`cairo_show_text()`](http://www.cairographics.org/manual/cairo-text.html#cairo-show-text)
 you must position your text by its insertion point. To use
-[`cairo_mask()`](http://www.cairographics.org/manual/cairo-context.html#cairo-mask)
+[`cairo_mask()`](http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-mask)
 you need a second source
-[pattern](http://www.cairographics.org/manual/cairo-pattern.html) or
-[surface](http://www.cairographics.org/manual/cairo-surface.html).
+[pattern](http://www.cairographics.org/manual/cairo-cairo-pattern-t.html) or
+[surface](http://www.cairographics.org/manual/cairo-cairo-surface-t.html).
 And to use any of the operations, including
-[`cairo_paint()`](http://www.cairographics.org/manual/cairo-context.html#cairo-paint),
+[`cairo_paint()`](http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-paint),
 you need a primary source.
 
 <h2 id="L2preparesource">Preparing and Selecting a Source</h2>
@@ -278,9 +278,9 @@ you need a primary source.
 There are three main kinds of sources in cairo: colors, gradients, and
 images. Colors are the simplest; they use a uniform hue and opacity for
 the entire source. You can select these without any preparation with
-[`cairo_set_source_rgb()`](http://www.cairographics.org/manual/cairo-context.html#cairo-set-source-rgb)
+[`cairo_set_source_rgb()`](http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-set-source-rgb)
 and
-[`cairo_set_source_rgba()`](http://www.cairographics.org/manual/cairo-context.html#cairo-set-source-rgba).
+[`cairo_set_source_rgba()`](http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-set-source-rgba).
 Using `cairo_set_source_rgb (cr, r, g, b)` is equivalent to using
 `cairo_set_source_rgba (cr, r, g, b, 1.0)`, and it sets your source
 color to use full opacity.
@@ -310,22 +310,22 @@ src="setsourcergba.png" alt="" /></a></div>
 
 Gradients describe a progression of colors by setting a start and stop
 reference location and a series of "stops" along the way. [Linear
-gradients](http://www.cairographics.org/manual/cairo-pattern.html#cairo-pattern-create-linear)
+gradients](http://www.cairographics.org/manual/cairo-cairo-pattern-t.html#cairo-pattern-create-linear)
 are built from two points which pass through parallel lines to define
 the start and stop locations. [Radial
-gradients](http://www.cairographics.org/manual/cairo-pattern.html#cairo-pattern-create-radial)
+gradients](http://www.cairographics.org/manual/cairo-cairo-pattern-t.html#cairo-pattern-create-radial)
 are also built from two points, but each has an associated radius of the
 circle on which to define the start and stop locations. Stops are added
 to the gradient with
-[`cairo_add_color_stop_rgb()`](http://www.cairographics.org/manual/cairo-pattern.html#cairo-pattern-add-color-stop-rgb)
+[`cairo_add_color_stop_rgb()`](http://www.cairographics.org/manual/cairo-cairo-pattern-t.html#cairo-pattern-add-color-stop-rgb)
 and
-[`cairo_add_color_stop_rgba()`](http://www.cairographics.org/manual/cairo-pattern.html#cairo-pattern-add-color-stop-rgba)
+[`cairo_add_color_stop_rgba()`](http://www.cairographics.org/manual/cairo-cairo-pattern-t.html#cairo-pattern-add-color-stop-rgba)
 which take a color like `cairo_set_source_rgb*()`, as well as an offset
 to indicate where it lies between the reference locations. The colors
 between adjacent stops are averaged over space to form a smooth blend.
 Finally, the behavior beyond the reference locations can be controlled
 with
-[`cairo_set_extend()`](http://www.cairographics.org/manual/cairo-pattern.html#cairo-pattern-set-extend).
+[`cairo_set_extend()`](http://www.cairographics.org/manual/cairo-cairo-pattern-t.html#cairo-pattern-set-extend).
 
 <div class="tutright"><a href="setsourcegradient.c"><img
 src="setsourcegradient.png" alt="" /></a></div>
@@ -359,15 +359,15 @@ Images include both surfaces loaded from existing files with
 and surfaces created from within cairo as an earlier destination. As of
 cairo 1.2, the easiest way to make and use an earlier destination as a
 source is with
-[`cairo_push_group()`](http://www.cairographics.org/manual/cairo-context.html#cairo-push-group)
+[`cairo_push_group()`](http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-push-group)
 and either
-[`cairo_pop_group()`](http://www.cairographics.org/manual/cairo-context.html#cairo-pop-group)
+[`cairo_pop_group()`](http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-pop-group)
 or
-[`cairo_pop_group_to_source()`](http://www.cairographics.org/manual/cairo-context.html#cairo-pop-group-to-source).
+[`cairo_pop_group_to_source()`](http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-pop-group-to-source).
 Use `cairo_pop_group_to_source()` to use it just until you select a new
 source, and `cairo_pop_group()` when you want to save it so you can
 select it over and over again with
-[`cairo_set_source()`](http://www.cairographics.org/manual/cairo-context.html#cairo-set-source).
+[`cairo_set_source()`](http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-set-source).
 
 <h2 id="L2createpath">Creating a Path</h2>
 
@@ -389,13 +389,13 @@ path is easy to create multiple times, but a lot of paths are more complex.
 Cairo supports easily reusing paths by having alternate versions of its
 operations. Both draw the same thing, but the alternate doesn't reset
 the path.  For stroking, alongside
-[`cairo_stroke()`](http://www.cairographics.org/manual/cairo-context.html#cairo-stroke)
+[`cairo_stroke()`](http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-stroke)
 there is
-[`cairo_stroke_preserve()`](http://www.cairographics.org/manual/cairo-context.html#cairo-stroke-preserve);
+[`cairo_stroke_preserve()`](http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-stroke-preserve);
 for filling,
-[`cairo_fill_preserve()`](http://www.cairographics.org/manual/cairo-context.html#cairo-fill-preserve)
+[`cairo_fill_preserve()`](http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-fill-preserve)
 joins
-[`cairo_fill()`](http://www.cairographics.org/manual/cairo-context.html#cairo-fill).
+[`cairo_fill()`](http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-fill).
 Even setting the clip has a preserve variant.  Apart from choosing when
 to preserve your path, there are only a couple common operations.
 
@@ -407,10 +407,10 @@ Cairo uses a connect-the-dots style system when creating paths.  Start
 at 1, draw a line to 2, then 3, and so forth. When you start a path, or
 when you need to start a new sub-path, you want it to be like point 1:
 it has nothing connecting to it. For this, use
-[`cairo_move_to()`](http://www.cairographics.org/manual/cairo-paths.html#cairo-move-to).
+[`cairo_move_to()`](http://www.cairographics.org/manual/cairo-Paths.html#cairo-move-to).
 This sets the current reference point without making the path connect
 the previous point to it. There is also a relative coordinate variant,
-[`cairo_rel_move_to()`](http://www.cairographics.org/manual/cairo-paths.html#cairo-rel-move-to),
+[`cairo_rel_move_to()`](http://www.cairographics.org/manual/cairo-Paths.html#cairo-rel-move-to),
 which sets the new reference a specified distance away from the current
 reference instead. After setting your first reference point, use the
 other path operations which both update the reference point and connect
@@ -423,10 +423,10 @@ to it in some way.
 <div class="tutright"><img src="path-lineto.png" alt="" /></div>
 
 Whether with absolute coordinates
-[`cairo_line_to()`](http://www.cairographics.org/manual/cairo-paths.html#cairo-line-to)
+[`cairo_line_to()`](http://www.cairographics.org/manual/cairo-Paths.html#cairo-line-to)
 (extend the path from the reference to this point), or relative
 coordinates
-[`cairo_rel_line_to()`](http://www.cairographics.org/manual/cairo-paths.html#cairo-rel-line-to)
+[`cairo_rel_line_to()`](http://www.cairographics.org/manual/cairo-Paths.html#cairo-rel-line-to)
 (extend the path from the reference this far in this direction), the
 path connection will be a straight line. The new reference point will be
 at the other end of the line.
@@ -443,9 +443,9 @@ point you directly specify is not on the path. Instead it is the center
 of the circle that makes up the addition to the path. Both a starting
 and ending point on the circle must be specified, and these points are
 connected either clockwise by
-[`cairo_arc()`](http://www.cairographics.org/manual/cairo-paths.html#cairo-arc)
+[`cairo_arc()`](http://www.cairographics.org/manual/cairo-Paths.html#cairo-arc)
 or counter-clockwise by
-[`cairo_arc_negative()`](http://www.cairographics.org/manual/cairo-paths.html#cairo-arc-negative).
+[`cairo_arc_negative()`](http://www.cairographics.org/manual/cairo-Paths.html#cairo-arc-negative).
 If the previous reference point is not on this new curve, a straight
 line is added from it to where the arc begins. The reference point is
 then updated to where the arc ends. There are only absolute versions.
@@ -460,9 +460,9 @@ Curves in cairo are cubic Bézier splines. They start at the current
 reference point and smoothly follow the direction of two other points
 (without going through them) to get to a third specified point. Like
 lines, there are both absolute
-([`cairo_curve_to()`](http://www.cairographics.org/manual/cairo-paths.html#cairo-curve-to))
+([`cairo_curve_to()`](http://www.cairographics.org/manual/cairo-Paths.html#cairo-curve-to))
 and relative
-([`cairo_rel_curve_to()`](http://www.cairographics.org/manual/cairo-paths.html#cairo-rel-curve-to))
+([`cairo_rel_curve_to()`](http://www.cairographics.org/manual/cairo-Paths.html#cairo-rel-curve-to))
 versions. Note that the relative variant specifies all points relative
 to the previous reference point, rather than each relative to the
 preceding control point of the curve.
@@ -486,7 +486,7 @@ caps for there is no place to put them.
 <h3 id="L3text">Text</h3>
 
 Finally text can be turned into a path with
-[`cairo_text_path()`](http://www.cairographics.org/manual/cairo-paths.html#cairo-text-path).
+[`cairo_text_path()`](http://www.cairographics.org/manual/cairo-Paths.html#cairo-text-path).
 Paths created from text are like any other path, supporting stroke or
 fill operations. This path is placed anchored to the current reference
 point, so <a href="#L3moving">`cairo_move_to()`</a> your desired
@@ -536,7 +536,7 @@ size. Set the face and style together with
 and the size with
 [`cairo_set_font_size()`](http://www.cairographics.org/manual/cairo-text.html#cairo-set-font-size).
 If you need even finer control, try getting a
-[`cairo_font_options_t`](http://www.cairographics.org/manual/cairo-font-options.html#cairo-font-options-t)
+[`cairo_font_options_t`](http://www.cairographics.org/manual/cairo-cairo-font-options-t.html#cairo-font-options-t)
 with
 [`cairo_get_font_options()`](http://www.cairographics.org/manual/cairo-text.html#cairo-get-font-options),
 tweaking it, and setting it with
@@ -554,30 +554,30 @@ relation between two coordinate systems. The device-space coordinate
 system is tied to the surface, and cannot change. The user-space
 coordinate system matches that space by default, but can be changed for
 the above reasons. The helper functions
-[`cairo_user_to_device()`](http://www.cairographics.org/manual/cairo-transformations.html#cairo-user-to-device)
+[`cairo_user_to_device()`](http://www.cairographics.org/manual/cairo-Transformations.html#cairo-user-to-device)
 and
-[`cairo_user_to_device_distance()`](http://www.cairographics.org/manual/cairo-transformations.html#cairo-user-to-device-distance)
+[`cairo_user_to_device_distance()`](http://www.cairographics.org/manual/cairo-Transformations.html#cairo-user-to-device-distance)
 tell you what the device-coordinates are for a user-coordinates position
 or distance.  Correspondingly
-[`cairo_device_to_user()`](http://www.cairographics.org/manual/cairo-transformations.html#cairo-device-to-user)
+[`cairo_device_to_user()`](http://www.cairographics.org/manual/cairo-Transformations.html#cairo-device-to-user)
 and
-[`cairo_device_to_user_distance()`](http://www.cairographics.org/manual/cairo-transformations.html#cairo-device-to-user-distance)
+[`cairo_device_to_user_distance()`](http://www.cairographics.org/manual/cairo-Transformations.html#cairo-device-to-user-distance)
 tell you user-coordinates for a device-coordinates position or distance.
 Remember to send positions through the non-distance variant, and
 relative moves or other distances through the distance variant.
 
 I leverage all of these reasons to draw the diagrams in this document.
 Whether I'm drawing 120&nbsp;x&nbsp;120 or 600&nbsp;x&nbsp;600, I use
-[`cairo_scale()`](http://www.cairographics.org/manual/cairo-transformations.html#cairo-scale)
+[`cairo_scale()`](http://www.cairographics.org/manual/cairo-Transformations.html#cairo-scale)
 to give me a 1.0&nbsp;x&nbsp;1.0 workspace. To place the results along
 the right column, such as in the discussion of <a
 href="#L1drawingmodel">cairo's drawing model</a>, I use
-[`cairo_translate()`](http://www.cairographics.org/manual/cairo-transformations.html#cairo-translate).
+[`cairo_translate()`](http://www.cairographics.org/manual/cairo-Transformations.html#cairo-translate).
 And to add the perspective view for the overlapping layers, I set up an
 arbitrary deformation with
-[`cairo_transform()`](http://www.cairographics.org/manual/cairo-transformations.html#cairo-transform)
+[`cairo_transform()`](http://www.cairographics.org/manual/cairo-Transformations.html#cairo-transform)
 on a
-[`cairo_matrix_t`](http://www.cairographics.org/manual/cairo-matrix.html#cairo-matrix-t).
+[`cairo_matrix_t`](http://www.cairographics.org/manual/cairo-cairo-matrix-t.html#cairo-matrix-t).
 
 To understand your transforms, read them bottom to top, applying them to the
 point you're drawing. To figure out which transforms to create, think through
@@ -598,7 +598,7 @@ set your line width while the scale factor was 1, the line width setting
 is always in user-coordinates and isn't modified by setting the scale.
 While you're operating under a scale, the width of your line is
 multiplied by that scale. To specify a width of a line in pixels, use
-[`cairo_device_to_user_distance()`](http://www.cairographics.org/manual/cairo-transformations.html#cairo-device-to-user-distance)
+[`cairo_device_to_user_distance()`](http://www.cairographics.org/manual/cairo-Transformations.html#cairo-device-to-user-distance)
 to turn a `(1, 1)` device-space distance into, for example, a `(0.01,
 0.01)` user-space distance. Note that if your transform deforms the
 image there isn't necessarily a way to specify a line with a uniform


More information about the cairo-commit mailing list