[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—plain black for several examples—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—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—like a donut—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 x 120 or 600 x 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 x 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