cairo 1.8.3-x86-mingw32 → 1.8.4-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of cairo might be problematic. Click here for more details.
- data/NEWS +14 -0
- data/Rakefile +2 -2
- data/ext/cairo/rb_cairo.c +1 -1
- data/extconf.rb +11 -11
- data/home/kou/work/ruby/rcairo.win32/vendor/local/bin/freetype6.dll +0 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/bin/libcairo-2.dll +0 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/bin/libfontconfig-1.dll +0 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/bin/libpng14-14.dll +0 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/bin/zlib1.dll +0 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/etc/fonts/fonts.conf +151 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/include/cairo/cairo-deprecated.h +138 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/include/cairo/cairo-features.h +20 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/include/cairo/cairo-ft.h +75 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/include/cairo/cairo-pdf.h +68 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/include/cairo/cairo-ps.h +114 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/include/cairo/cairo-svg.h +82 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/include/cairo/cairo-version.h +8 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/include/cairo/cairo-win32.h +112 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/include/cairo/cairo.h +2328 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/include/libpng14/png.h +2701 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/include/libpng14/pngconf.h +1525 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/include/png.h +2701 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/include/pngconf.h +1525 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/include/zconf.h +461 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/include/zlib.h +1589 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/cairo.def +278 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/cairo.lib +0 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/libcairo.dll.a +0 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/libpng.def +192 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/libpng.lib +0 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/libpng14.dll.a +0 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/libz.dll.a +0 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/pkgconfig/cairo-ft.pc +12 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/pkgconfig/cairo-pdf.pc +12 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/pkgconfig/cairo-png.pc +12 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/pkgconfig/cairo-ps.pc +12 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/pkgconfig/cairo-svg.pc +12 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/pkgconfig/cairo-win32-font.pc +12 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/pkgconfig/cairo-win32.pc +12 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/pkgconfig/cairo.pc +13 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/pkgconfig/libpng.pc +11 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/pkgconfig/libpng14.pc +11 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/zdll.lib +0 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/lib/zlib.def +67 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/manifest/cairo-dev_1.8.10-4_win32.mft +76 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/manifest/cairo_1.8.10-4_win32.mft +5 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/manifest/fontconfig_2.8.0-2_win32.mft +3 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/manifest/freetype_2.4.2-1_win32.mft +2 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/manifest/libpng-dev_1.4.3-1_win32.mft +15 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/manifest/libpng_1.4.3-1_win32.mft +2 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/manifest/zlib-dev_1.2.5-2_win32.mft +8 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/manifest/zlib_1.2.5-2_win32.mft +2 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/doc/cairo_1.8.10-4_win32/COPYING +32 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/doc/cairo_1.8.10-4_win32/COPYING-LGPL-2.1 +510 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/doc/cairo_1.8.10-4_win32/COPYING-MPL-1.1 +470 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/bindings-errors.html +132 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/bindings-fonts.html +63 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/bindings-memory.html +133 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/bindings-overloading.html +131 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/bindings-path.html +127 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/bindings-patterns.html +67 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/bindings-return-values.html +130 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/bindings-streams.html +102 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/bindings-surfaces.html +103 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-context.html +2643 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-drawing.html +57 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-error-status.html +360 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-font-face.html +408 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-font-options.html +678 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-fonts.html +63 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-ft-font.html +319 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-image-surface.html +473 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-matrix.html +596 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-paths.html +1274 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-pattern.html +1485 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-pdf-surface.html +238 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-png-functions.html +341 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-ps-surface.html +622 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-quartz-font.html +151 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-quartz-surface.html +219 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-scaled-font.html +1023 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-support.html +54 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-surface.html +1026 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-surfaces.html +69 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-svg-surface.html +321 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-text.html +1222 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-transformations.html +436 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-types.html +133 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-user-font.html +735 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-version-info.html +345 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-win32-font.html +358 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-win32-surface.html +312 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo-xlib-surface.html +492 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo.devhelp +417 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/cairo.devhelp2 +542 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/home.png +0 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/index-1.2.html +141 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/index-1.4.html +109 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/index-1.6.html +71 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/index-1.8.html +107 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/index-all.html +759 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/index.html +144 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/index.sgml +478 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/language-bindings.html +83 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/left.png +0 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/right.png +0 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/style.css +167 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/gtk-doc/html/cairo/up.png +0 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/man/man3/libpng.3 +4455 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/man/man3/libpngpf.3 +808 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/share/man/man5/png.5 +74 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/src/tml/packaging/cairo_1.8.10-4_win32.log +920 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/src/tml/packaging/cairo_1.8.10-4_win32.sh +76 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/src/tml/packaging/libpng_1.4.3-1_win32.log +272 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/src/tml/packaging/libpng_1.4.3-1_win32.sh +71 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/src/tml/packaging/zlib_1.2.5-2_win32.log +42 -0
- data/home/kou/work/ruby/rcairo.win32/vendor/local/src/tml/packaging/zlib_1.2.5-2_win32.sh +189 -0
- data/lib/1.8/cairo.so +0 -0
- data/lib/1.9/cairo.so +0 -0
- data/tmp/{x86-mingw32 → i386-mingw32}/cairo/1.8.7/fake.rb +0 -0
- data/tmp/{x86-mingw32 → i386-mingw32}/cairo/1.8.7/mkmf.rb +0 -0
- data/tmp/{x86-mingw32 → i386-mingw32}/cairo/1.8.7/rbconfig.rb +0 -0
- data/tmp/{x86-mingw32 → i386-mingw32}/cairo/1.9.2/fake.rb +0 -0
- data/tmp/{x86-mingw32 → i386-mingw32}/cairo/1.9.2/mkmf.rb +0 -0
- data/tmp/{x86-mingw32 → i386-mingw32}/cairo/1.9.2/rbconfig.rb +1 -1
- metadata +126 -40
@@ -0,0 +1,596 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
5
|
+
<title>cairo_matrix_t</title>
|
6
|
+
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
7
|
+
<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library">
|
8
|
+
<link rel="up" href="cairo-support.html" title="Utilities">
|
9
|
+
<link rel="prev" href="cairo-support.html" title="Utilities">
|
10
|
+
<link rel="next" href="cairo-error-status.html" title="Error handling">
|
11
|
+
<meta name="generator" content="GTK-Doc V1.11 (XML mode)">
|
12
|
+
<link rel="stylesheet" href="style.css" type="text/css">
|
13
|
+
<link rel="chapter" href="cairo-drawing.html" title="Drawing">
|
14
|
+
<link rel="chapter" href="cairo-fonts.html" title="Fonts">
|
15
|
+
<link rel="chapter" href="cairo-surfaces.html" title="Surfaces">
|
16
|
+
<link rel="chapter" href="cairo-support.html" title="Utilities">
|
17
|
+
<link rel="index" href="index-all.html" title="Index">
|
18
|
+
<link rel="index" href="index-1.2.html" title="Index of new symbols in 1.2">
|
19
|
+
<link rel="index" href="index-1.4.html" title="Index of new symbols in 1.4">
|
20
|
+
<link rel="index" href="index-1.6.html" title="Index of new symbols in 1.6">
|
21
|
+
<link rel="index" href="index-1.8.html" title="Index of new symbols in 1.8">
|
22
|
+
<link rel="appendix" href="language-bindings.html" title="Appendix A. Creating a language binding for cairo">
|
23
|
+
</head>
|
24
|
+
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
25
|
+
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
|
26
|
+
<tr valign="middle">
|
27
|
+
<td><a accesskey="p" href="cairo-support.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
|
28
|
+
<td><a accesskey="u" href="cairo-support.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
|
29
|
+
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
|
30
|
+
<th width="100%" align="center">Cairo: A Vector Graphics Library</th>
|
31
|
+
<td><a accesskey="n" href="cairo-error-status.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
|
32
|
+
</tr>
|
33
|
+
<tr><td colspan="5" class="shortcuts">
|
34
|
+
<a href="#cairo-matrix.synopsis" class="shortcut">Top</a>
|
35
|
+
|
|
36
|
+
<a href="#cairo-matrix.description" class="shortcut">Description</a>
|
37
|
+
</td></tr>
|
38
|
+
</table>
|
39
|
+
<div class="refentry" title="cairo_matrix_t">
|
40
|
+
<a name="cairo-matrix"></a><div class="titlepage"></div>
|
41
|
+
<div class="refnamediv"><table width="100%"><tr>
|
42
|
+
<td valign="top">
|
43
|
+
<h2><span class="refentrytitle"><a name="cairo-matrix.top_of_page"></a>cairo_matrix_t</span></h2>
|
44
|
+
<p>cairo_matrix_t — Generic matrix operations</p>
|
45
|
+
</td>
|
46
|
+
<td valign="top" align="right"></td>
|
47
|
+
</tr></table></div>
|
48
|
+
<div class="refsynopsisdiv" title="Synopsis">
|
49
|
+
<a name="cairo-matrix.synopsis"></a><h2>Synopsis</h2>
|
50
|
+
<pre class="synopsis">
|
51
|
+
<a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a>;
|
52
|
+
void <a class="link" href="cairo-matrix.html#cairo-matrix-init" title="cairo_matrix_init ()">cairo_matrix_init</a> (<a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *matrix,
|
53
|
+
double xx,
|
54
|
+
double yx,
|
55
|
+
double xy,
|
56
|
+
double yy,
|
57
|
+
double x0,
|
58
|
+
double y0);
|
59
|
+
void <a class="link" href="cairo-matrix.html#cairo-matrix-init-identity" title="cairo_matrix_init_identity ()">cairo_matrix_init_identity</a> (<a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *matrix);
|
60
|
+
void <a class="link" href="cairo-matrix.html#cairo-matrix-init-translate" title="cairo_matrix_init_translate ()">cairo_matrix_init_translate</a> (<a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *matrix,
|
61
|
+
double tx,
|
62
|
+
double ty);
|
63
|
+
void <a class="link" href="cairo-matrix.html#cairo-matrix-init-scale" title="cairo_matrix_init_scale ()">cairo_matrix_init_scale</a> (<a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *matrix,
|
64
|
+
double sx,
|
65
|
+
double sy);
|
66
|
+
void <a class="link" href="cairo-matrix.html#cairo-matrix-init-rotate" title="cairo_matrix_init_rotate ()">cairo_matrix_init_rotate</a> (<a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *matrix,
|
67
|
+
double radians);
|
68
|
+
void <a class="link" href="cairo-matrix.html#cairo-matrix-translate" title="cairo_matrix_translate ()">cairo_matrix_translate</a> (<a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *matrix,
|
69
|
+
double tx,
|
70
|
+
double ty);
|
71
|
+
void <a class="link" href="cairo-matrix.html#cairo-matrix-scale" title="cairo_matrix_scale ()">cairo_matrix_scale</a> (<a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *matrix,
|
72
|
+
double sx,
|
73
|
+
double sy);
|
74
|
+
void <a class="link" href="cairo-matrix.html#cairo-matrix-rotate" title="cairo_matrix_rotate ()">cairo_matrix_rotate</a> (<a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *matrix,
|
75
|
+
double radians);
|
76
|
+
<a class="link" href="cairo-error-status.html#cairo-status-t" title="enum cairo_status_t">cairo_status_t</a> <a class="link" href="cairo-matrix.html#cairo-matrix-invert" title="cairo_matrix_invert ()">cairo_matrix_invert</a> (<a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *matrix);
|
77
|
+
void <a class="link" href="cairo-matrix.html#cairo-matrix-multiply" title="cairo_matrix_multiply ()">cairo_matrix_multiply</a> (<a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *result,
|
78
|
+
const <a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *a,
|
79
|
+
const <a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *b);
|
80
|
+
void <a class="link" href="cairo-matrix.html#cairo-matrix-transform-distance" title="cairo_matrix_transform_distance ()">cairo_matrix_transform_distance</a> (const <a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *matrix,
|
81
|
+
double *dx,
|
82
|
+
double *dy);
|
83
|
+
void <a class="link" href="cairo-matrix.html#cairo-matrix-transform-point" title="cairo_matrix_transform_point ()">cairo_matrix_transform_point</a> (const <a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *matrix,
|
84
|
+
double *x,
|
85
|
+
double *y);
|
86
|
+
</pre>
|
87
|
+
</div>
|
88
|
+
<div class="refsect1" title="Description">
|
89
|
+
<a name="cairo-matrix.description"></a><h2>Description</h2>
|
90
|
+
<p>
|
91
|
+
<a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> is used throughout cairo to convert between different
|
92
|
+
coordinate spaces. A <a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> holds an affine transformation,
|
93
|
+
such as a scale, rotation, shear, or a combination of these.
|
94
|
+
The transformation of a point (<code class="literal">x</code>,<code class="literal">y</code>)
|
95
|
+
is given by:
|
96
|
+
</p>
|
97
|
+
<pre class="programlisting">
|
98
|
+
x_new = xx * x + xy * y + x0;
|
99
|
+
y_new = yx * x + yy * y + y0;
|
100
|
+
</pre>
|
101
|
+
<p>
|
102
|
+
The current transformation matrix of a <a class="link" href="cairo-context.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a>, represented as a
|
103
|
+
<a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>, defines the transformation from user-space
|
104
|
+
coordinates to device-space coordinates. See <a class="link" href="cairo-transformations.html#cairo-get-matrix" title="cairo_get_matrix ()"><code class="function">cairo_get_matrix()</code></a> and
|
105
|
+
<a class="link" href="cairo-transformations.html#cairo-set-matrix" title="cairo_set_matrix ()"><code class="function">cairo_set_matrix()</code></a>.
|
106
|
+
</p>
|
107
|
+
</div>
|
108
|
+
<div class="refsect1" title="Details">
|
109
|
+
<a name="cairo-matrix.details"></a><h2>Details</h2>
|
110
|
+
<div class="refsect2" title="cairo_matrix_t">
|
111
|
+
<a name="cairo-matrix-t"></a><h3>cairo_matrix_t</h3>
|
112
|
+
<pre class="programlisting">typedef struct {
|
113
|
+
double xx; double yx;
|
114
|
+
double xy; double yy;
|
115
|
+
double x0; double y0;
|
116
|
+
} cairo_matrix_t;
|
117
|
+
</pre>
|
118
|
+
<p>
|
119
|
+
A <a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> holds an affine transformation, such as a scale,
|
120
|
+
rotation, shear, or a combination of those. The transformation of
|
121
|
+
a point (x, y) is given by:
|
122
|
+
</p>
|
123
|
+
<pre class="programlisting">
|
124
|
+
x_new = xx * x + xy * y + x0;
|
125
|
+
y_new = yx * x + yy * y + y0;
|
126
|
+
</pre>
|
127
|
+
<p>
|
128
|
+
</p>
|
129
|
+
<div class="variablelist"><table border="0">
|
130
|
+
<col align="left" valign="top">
|
131
|
+
<tbody>
|
132
|
+
<tr>
|
133
|
+
<td><p><span class="term">double <em class="structfield"><code>xx</code></em>;</span></p></td>
|
134
|
+
<td> xx component of the affine transformation
|
135
|
+
</td>
|
136
|
+
</tr>
|
137
|
+
<tr>
|
138
|
+
<td><p><span class="term">double <em class="structfield"><code>yx</code></em>;</span></p></td>
|
139
|
+
<td> yx component of the affine transformation
|
140
|
+
</td>
|
141
|
+
</tr>
|
142
|
+
<tr>
|
143
|
+
<td><p><span class="term">double <em class="structfield"><code>xy</code></em>;</span></p></td>
|
144
|
+
<td> xy component of the affine transformation
|
145
|
+
</td>
|
146
|
+
</tr>
|
147
|
+
<tr>
|
148
|
+
<td><p><span class="term">double <em class="structfield"><code>yy</code></em>;</span></p></td>
|
149
|
+
<td> yy component of the affine transformation
|
150
|
+
</td>
|
151
|
+
</tr>
|
152
|
+
<tr>
|
153
|
+
<td><p><span class="term">double <em class="structfield"><code>x0</code></em>;</span></p></td>
|
154
|
+
<td> X translation component of the affine transformation
|
155
|
+
</td>
|
156
|
+
</tr>
|
157
|
+
<tr>
|
158
|
+
<td><p><span class="term">double <em class="structfield"><code>y0</code></em>;</span></p></td>
|
159
|
+
<td> Y translation component of the affine transformation
|
160
|
+
</td>
|
161
|
+
</tr>
|
162
|
+
</tbody>
|
163
|
+
</table></div>
|
164
|
+
</div>
|
165
|
+
<hr>
|
166
|
+
<div class="refsect2" title="cairo_matrix_init ()">
|
167
|
+
<a name="cairo-matrix-init"></a><h3>cairo_matrix_init ()</h3>
|
168
|
+
<pre class="programlisting">void cairo_matrix_init (<a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *matrix,
|
169
|
+
double xx,
|
170
|
+
double yx,
|
171
|
+
double xy,
|
172
|
+
double yy,
|
173
|
+
double x0,
|
174
|
+
double y0);</pre>
|
175
|
+
<p>
|
176
|
+
Sets <em class="parameter"><code>matrix</code></em> to be the affine transformation given by
|
177
|
+
<em class="parameter"><code>xx</code></em>, <em class="parameter"><code>yx</code></em>, <em class="parameter"><code>xy</code></em>, <em class="parameter"><code>yy</code></em>, <em class="parameter"><code>x0</code></em>, <em class="parameter"><code>y0</code></em>. The transformation is given
|
178
|
+
by:
|
179
|
+
</p>
|
180
|
+
<pre class="programlisting">
|
181
|
+
x_new = xx * x + xy * y + x0;
|
182
|
+
y_new = yx * x + yy * y + y0;
|
183
|
+
</pre>
|
184
|
+
<p>
|
185
|
+
</p>
|
186
|
+
<div class="variablelist"><table border="0">
|
187
|
+
<col align="left" valign="top">
|
188
|
+
<tbody>
|
189
|
+
<tr>
|
190
|
+
<td><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></td>
|
191
|
+
<td> a <a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>
|
192
|
+
</td>
|
193
|
+
</tr>
|
194
|
+
<tr>
|
195
|
+
<td><p><span class="term"><em class="parameter"><code>xx</code></em> :</span></p></td>
|
196
|
+
<td> xx component of the affine transformation
|
197
|
+
</td>
|
198
|
+
</tr>
|
199
|
+
<tr>
|
200
|
+
<td><p><span class="term"><em class="parameter"><code>yx</code></em> :</span></p></td>
|
201
|
+
<td> yx component of the affine transformation
|
202
|
+
</td>
|
203
|
+
</tr>
|
204
|
+
<tr>
|
205
|
+
<td><p><span class="term"><em class="parameter"><code>xy</code></em> :</span></p></td>
|
206
|
+
<td> xy component of the affine transformation
|
207
|
+
</td>
|
208
|
+
</tr>
|
209
|
+
<tr>
|
210
|
+
<td><p><span class="term"><em class="parameter"><code>yy</code></em> :</span></p></td>
|
211
|
+
<td> yy component of the affine transformation
|
212
|
+
</td>
|
213
|
+
</tr>
|
214
|
+
<tr>
|
215
|
+
<td><p><span class="term"><em class="parameter"><code>x0</code></em> :</span></p></td>
|
216
|
+
<td> X translation component of the affine transformation
|
217
|
+
</td>
|
218
|
+
</tr>
|
219
|
+
<tr>
|
220
|
+
<td><p><span class="term"><em class="parameter"><code>y0</code></em> :</span></p></td>
|
221
|
+
<td> Y translation component of the affine transformation
|
222
|
+
</td>
|
223
|
+
</tr>
|
224
|
+
</tbody>
|
225
|
+
</table></div>
|
226
|
+
</div>
|
227
|
+
<hr>
|
228
|
+
<div class="refsect2" title="cairo_matrix_init_identity ()">
|
229
|
+
<a name="cairo-matrix-init-identity"></a><h3>cairo_matrix_init_identity ()</h3>
|
230
|
+
<pre class="programlisting">void cairo_matrix_init_identity (<a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *matrix);</pre>
|
231
|
+
<p>
|
232
|
+
Modifies <em class="parameter"><code>matrix</code></em> to be an identity transformation.</p>
|
233
|
+
<p>
|
234
|
+
</p>
|
235
|
+
<div class="variablelist"><table border="0">
|
236
|
+
<col align="left" valign="top">
|
237
|
+
<tbody><tr>
|
238
|
+
<td><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></td>
|
239
|
+
<td> a <a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>
|
240
|
+
</td>
|
241
|
+
</tr></tbody>
|
242
|
+
</table></div>
|
243
|
+
</div>
|
244
|
+
<hr>
|
245
|
+
<div class="refsect2" title="cairo_matrix_init_translate ()">
|
246
|
+
<a name="cairo-matrix-init-translate"></a><h3>cairo_matrix_init_translate ()</h3>
|
247
|
+
<pre class="programlisting">void cairo_matrix_init_translate (<a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *matrix,
|
248
|
+
double tx,
|
249
|
+
double ty);</pre>
|
250
|
+
<p>
|
251
|
+
Initializes <em class="parameter"><code>matrix</code></em> to a transformation that translates by <em class="parameter"><code>tx</code></em> and
|
252
|
+
<em class="parameter"><code>ty</code></em> in the X and Y dimensions, respectively.</p>
|
253
|
+
<p>
|
254
|
+
</p>
|
255
|
+
<div class="variablelist"><table border="0">
|
256
|
+
<col align="left" valign="top">
|
257
|
+
<tbody>
|
258
|
+
<tr>
|
259
|
+
<td><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></td>
|
260
|
+
<td> a <a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>
|
261
|
+
</td>
|
262
|
+
</tr>
|
263
|
+
<tr>
|
264
|
+
<td><p><span class="term"><em class="parameter"><code>tx</code></em> :</span></p></td>
|
265
|
+
<td> amount to translate in the X direction
|
266
|
+
</td>
|
267
|
+
</tr>
|
268
|
+
<tr>
|
269
|
+
<td><p><span class="term"><em class="parameter"><code>ty</code></em> :</span></p></td>
|
270
|
+
<td> amount to translate in the Y direction
|
271
|
+
</td>
|
272
|
+
</tr>
|
273
|
+
</tbody>
|
274
|
+
</table></div>
|
275
|
+
</div>
|
276
|
+
<hr>
|
277
|
+
<div class="refsect2" title="cairo_matrix_init_scale ()">
|
278
|
+
<a name="cairo-matrix-init-scale"></a><h3>cairo_matrix_init_scale ()</h3>
|
279
|
+
<pre class="programlisting">void cairo_matrix_init_scale (<a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *matrix,
|
280
|
+
double sx,
|
281
|
+
double sy);</pre>
|
282
|
+
<p>
|
283
|
+
Initializes <em class="parameter"><code>matrix</code></em> to a transformation that scales by <em class="parameter"><code>sx</code></em> and <em class="parameter"><code>sy</code></em>
|
284
|
+
in the X and Y dimensions, respectively.</p>
|
285
|
+
<p>
|
286
|
+
</p>
|
287
|
+
<div class="variablelist"><table border="0">
|
288
|
+
<col align="left" valign="top">
|
289
|
+
<tbody>
|
290
|
+
<tr>
|
291
|
+
<td><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></td>
|
292
|
+
<td> a <a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>
|
293
|
+
</td>
|
294
|
+
</tr>
|
295
|
+
<tr>
|
296
|
+
<td><p><span class="term"><em class="parameter"><code>sx</code></em> :</span></p></td>
|
297
|
+
<td> scale factor in the X direction
|
298
|
+
</td>
|
299
|
+
</tr>
|
300
|
+
<tr>
|
301
|
+
<td><p><span class="term"><em class="parameter"><code>sy</code></em> :</span></p></td>
|
302
|
+
<td> scale factor in the Y direction
|
303
|
+
</td>
|
304
|
+
</tr>
|
305
|
+
</tbody>
|
306
|
+
</table></div>
|
307
|
+
</div>
|
308
|
+
<hr>
|
309
|
+
<div class="refsect2" title="cairo_matrix_init_rotate ()">
|
310
|
+
<a name="cairo-matrix-init-rotate"></a><h3>cairo_matrix_init_rotate ()</h3>
|
311
|
+
<pre class="programlisting">void cairo_matrix_init_rotate (<a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *matrix,
|
312
|
+
double radians);</pre>
|
313
|
+
<p>
|
314
|
+
Initialized <em class="parameter"><code>matrix</code></em> to a transformation that rotates by <em class="parameter"><code>radians</code></em>.</p>
|
315
|
+
<p>
|
316
|
+
</p>
|
317
|
+
<div class="variablelist"><table border="0">
|
318
|
+
<col align="left" valign="top">
|
319
|
+
<tbody>
|
320
|
+
<tr>
|
321
|
+
<td><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></td>
|
322
|
+
<td> a <a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>
|
323
|
+
</td>
|
324
|
+
</tr>
|
325
|
+
<tr>
|
326
|
+
<td><p><span class="term"><em class="parameter"><code>radians</code></em> :</span></p></td>
|
327
|
+
<td> angle of rotation, in radians. The direction of rotation
|
328
|
+
is defined such that positive angles rotate in the direction from
|
329
|
+
the positive X axis toward the positive Y axis. With the default
|
330
|
+
axis orientation of cairo, positive angles rotate in a clockwise
|
331
|
+
direction.
|
332
|
+
</td>
|
333
|
+
</tr>
|
334
|
+
</tbody>
|
335
|
+
</table></div>
|
336
|
+
</div>
|
337
|
+
<hr>
|
338
|
+
<div class="refsect2" title="cairo_matrix_translate ()">
|
339
|
+
<a name="cairo-matrix-translate"></a><h3>cairo_matrix_translate ()</h3>
|
340
|
+
<pre class="programlisting">void cairo_matrix_translate (<a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *matrix,
|
341
|
+
double tx,
|
342
|
+
double ty);</pre>
|
343
|
+
<p>
|
344
|
+
Applies a translation by <em class="parameter"><code>tx</code></em>, <em class="parameter"><code>ty</code></em> to the transformation in
|
345
|
+
<em class="parameter"><code>matrix</code></em>. The effect of the new transformation is to first translate
|
346
|
+
the coordinates by <em class="parameter"><code>tx</code></em> and <em class="parameter"><code>ty</code></em>, then apply the original transformation
|
347
|
+
to the coordinates.</p>
|
348
|
+
<p>
|
349
|
+
</p>
|
350
|
+
<div class="variablelist"><table border="0">
|
351
|
+
<col align="left" valign="top">
|
352
|
+
<tbody>
|
353
|
+
<tr>
|
354
|
+
<td><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></td>
|
355
|
+
<td> a <a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>
|
356
|
+
</td>
|
357
|
+
</tr>
|
358
|
+
<tr>
|
359
|
+
<td><p><span class="term"><em class="parameter"><code>tx</code></em> :</span></p></td>
|
360
|
+
<td> amount to translate in the X direction
|
361
|
+
</td>
|
362
|
+
</tr>
|
363
|
+
<tr>
|
364
|
+
<td><p><span class="term"><em class="parameter"><code>ty</code></em> :</span></p></td>
|
365
|
+
<td> amount to translate in the Y direction
|
366
|
+
</td>
|
367
|
+
</tr>
|
368
|
+
</tbody>
|
369
|
+
</table></div>
|
370
|
+
</div>
|
371
|
+
<hr>
|
372
|
+
<div class="refsect2" title="cairo_matrix_scale ()">
|
373
|
+
<a name="cairo-matrix-scale"></a><h3>cairo_matrix_scale ()</h3>
|
374
|
+
<pre class="programlisting">void cairo_matrix_scale (<a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *matrix,
|
375
|
+
double sx,
|
376
|
+
double sy);</pre>
|
377
|
+
<p>
|
378
|
+
Applies scaling by <em class="parameter"><code>sx</code></em>, <em class="parameter"><code>sy</code></em> to the transformation in <em class="parameter"><code>matrix</code></em>. The
|
379
|
+
effect of the new transformation is to first scale the coordinates
|
380
|
+
by <em class="parameter"><code>sx</code></em> and <em class="parameter"><code>sy</code></em>, then apply the original transformation to the coordinates.</p>
|
381
|
+
<p>
|
382
|
+
</p>
|
383
|
+
<div class="variablelist"><table border="0">
|
384
|
+
<col align="left" valign="top">
|
385
|
+
<tbody>
|
386
|
+
<tr>
|
387
|
+
<td><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></td>
|
388
|
+
<td> a <a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>
|
389
|
+
</td>
|
390
|
+
</tr>
|
391
|
+
<tr>
|
392
|
+
<td><p><span class="term"><em class="parameter"><code>sx</code></em> :</span></p></td>
|
393
|
+
<td> scale factor in the X direction
|
394
|
+
</td>
|
395
|
+
</tr>
|
396
|
+
<tr>
|
397
|
+
<td><p><span class="term"><em class="parameter"><code>sy</code></em> :</span></p></td>
|
398
|
+
<td> scale factor in the Y direction
|
399
|
+
</td>
|
400
|
+
</tr>
|
401
|
+
</tbody>
|
402
|
+
</table></div>
|
403
|
+
</div>
|
404
|
+
<hr>
|
405
|
+
<div class="refsect2" title="cairo_matrix_rotate ()">
|
406
|
+
<a name="cairo-matrix-rotate"></a><h3>cairo_matrix_rotate ()</h3>
|
407
|
+
<pre class="programlisting">void cairo_matrix_rotate (<a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *matrix,
|
408
|
+
double radians);</pre>
|
409
|
+
<p>
|
410
|
+
Applies rotation by <em class="parameter"><code>radians</code></em> to the transformation in
|
411
|
+
<em class="parameter"><code>matrix</code></em>. The effect of the new transformation is to first rotate the
|
412
|
+
coordinates by <em class="parameter"><code>radians</code></em>, then apply the original transformation
|
413
|
+
to the coordinates.</p>
|
414
|
+
<p>
|
415
|
+
</p>
|
416
|
+
<div class="variablelist"><table border="0">
|
417
|
+
<col align="left" valign="top">
|
418
|
+
<tbody>
|
419
|
+
<tr>
|
420
|
+
<td><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></td>
|
421
|
+
<td> a <a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>
|
422
|
+
</td>
|
423
|
+
</tr>
|
424
|
+
<tr>
|
425
|
+
<td><p><span class="term"><em class="parameter"><code>radians</code></em> :</span></p></td>
|
426
|
+
<td> angle of rotation, in radians. The direction of rotation
|
427
|
+
is defined such that positive angles rotate in the direction from
|
428
|
+
the positive X axis toward the positive Y axis. With the default
|
429
|
+
axis orientation of cairo, positive angles rotate in a clockwise
|
430
|
+
direction.
|
431
|
+
</td>
|
432
|
+
</tr>
|
433
|
+
</tbody>
|
434
|
+
</table></div>
|
435
|
+
</div>
|
436
|
+
<hr>
|
437
|
+
<div class="refsect2" title="cairo_matrix_invert ()">
|
438
|
+
<a name="cairo-matrix-invert"></a><h3>cairo_matrix_invert ()</h3>
|
439
|
+
<pre class="programlisting"><a class="link" href="cairo-error-status.html#cairo-status-t" title="enum cairo_status_t">cairo_status_t</a> cairo_matrix_invert (<a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *matrix);</pre>
|
440
|
+
<p>
|
441
|
+
Changes <em class="parameter"><code>matrix</code></em> to be the inverse of it's original value. Not
|
442
|
+
all transformation matrices have inverses; if the matrix
|
443
|
+
collapses points together (it is <em class="firstterm">degenerate</em>),
|
444
|
+
then it has no inverse and this function will fail.</p>
|
445
|
+
<p>
|
446
|
+
</p>
|
447
|
+
<div class="variablelist"><table border="0">
|
448
|
+
<col align="left" valign="top">
|
449
|
+
<tbody>
|
450
|
+
<tr>
|
451
|
+
<td><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></td>
|
452
|
+
<td> a <a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>
|
453
|
+
</td>
|
454
|
+
</tr>
|
455
|
+
<tr>
|
456
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
457
|
+
<td> If <em class="parameter"><code>matrix</code></em> has an inverse, modifies <em class="parameter"><code>matrix</code></em> to
|
458
|
+
be the inverse matrix and returns <a class="link" href="cairo-error-status.html#CAIRO-STATUS-SUCCESS--CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a>. Otherwise,
|
459
|
+
returns <a class="link" href="cairo-error-status.html#CAIRO-STATUS-INVALID-MATRIX--CAPS"><code class="literal">CAIRO_STATUS_INVALID_MATRIX</code></a>.
|
460
|
+
</td>
|
461
|
+
</tr>
|
462
|
+
</tbody>
|
463
|
+
</table></div>
|
464
|
+
</div>
|
465
|
+
<hr>
|
466
|
+
<div class="refsect2" title="cairo_matrix_multiply ()">
|
467
|
+
<a name="cairo-matrix-multiply"></a><h3>cairo_matrix_multiply ()</h3>
|
468
|
+
<pre class="programlisting">void cairo_matrix_multiply (<a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *result,
|
469
|
+
const <a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *a,
|
470
|
+
const <a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *b);</pre>
|
471
|
+
<p>
|
472
|
+
Multiplies the affine transformations in <em class="parameter"><code>a</code></em> and <em class="parameter"><code>b</code></em> together
|
473
|
+
and stores the result in <em class="parameter"><code>result</code></em>. The effect of the resulting
|
474
|
+
transformation is to first apply the transformation in <em class="parameter"><code>a</code></em> to the
|
475
|
+
coordinates and then apply the transformation in <em class="parameter"><code>b</code></em> to the
|
476
|
+
coordinates.
|
477
|
+
</p>
|
478
|
+
<p>
|
479
|
+
It is allowable for <em class="parameter"><code>result</code></em> to be identical to either <em class="parameter"><code>a</code></em> or <em class="parameter"><code>b</code></em>.</p>
|
480
|
+
<p>
|
481
|
+
</p>
|
482
|
+
<div class="variablelist"><table border="0">
|
483
|
+
<col align="left" valign="top">
|
484
|
+
<tbody>
|
485
|
+
<tr>
|
486
|
+
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
|
487
|
+
<td> a <a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> in which to store the result
|
488
|
+
</td>
|
489
|
+
</tr>
|
490
|
+
<tr>
|
491
|
+
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
|
492
|
+
<td> a <a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>
|
493
|
+
</td>
|
494
|
+
</tr>
|
495
|
+
<tr>
|
496
|
+
<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
|
497
|
+
<td> a <a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>
|
498
|
+
</td>
|
499
|
+
</tr>
|
500
|
+
</tbody>
|
501
|
+
</table></div>
|
502
|
+
</div>
|
503
|
+
<hr>
|
504
|
+
<div class="refsect2" title="cairo_matrix_transform_distance ()">
|
505
|
+
<a name="cairo-matrix-transform-distance"></a><h3>cairo_matrix_transform_distance ()</h3>
|
506
|
+
<pre class="programlisting">void cairo_matrix_transform_distance (const <a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *matrix,
|
507
|
+
double *dx,
|
508
|
+
double *dy);</pre>
|
509
|
+
<p>
|
510
|
+
Transforms the distance vector (<em class="parameter"><code>dx</code></em>,<em class="parameter"><code>dy</code></em>) by <em class="parameter"><code>matrix</code></em>. This is
|
511
|
+
similar to <a class="link" href="cairo-matrix.html#cairo-matrix-transform-point" title="cairo_matrix_transform_point ()"><code class="function">cairo_matrix_transform_point()</code></a> except that the translation
|
512
|
+
components of the transformation are ignored. The calculation of
|
513
|
+
the returned vector is as follows:
|
514
|
+
</p>
|
515
|
+
<p>
|
516
|
+
</p>
|
517
|
+
<pre class="programlisting">
|
518
|
+
dx2 = dx1 * a + dy1 * c;
|
519
|
+
dy2 = dx1 * b + dy1 * d;
|
520
|
+
</pre>
|
521
|
+
<p>
|
522
|
+
</p>
|
523
|
+
<p>
|
524
|
+
Affine transformations are position invariant, so the same vector
|
525
|
+
always transforms to the same vector. If (<em class="parameter"><code>x1</code></em>,<em class="parameter"><code>y1</code></em>) transforms
|
526
|
+
to (<em class="parameter"><code>x2</code></em>,<em class="parameter"><code>y2</code></em>) then (<em class="parameter"><code>x1</code></em>+<em class="parameter"><code>dx1</code></em>,<em class="parameter"><code>y1</code></em>+<em class="parameter"><code>dy1</code></em>) will transform to
|
527
|
+
(<em class="parameter"><code>x1</code></em>+<em class="parameter"><code>dx2</code></em>,<em class="parameter"><code>y1</code></em>+<em class="parameter"><code>dy2</code></em>) for all values of <em class="parameter"><code>x1</code></em> and <em class="parameter"><code>x2</code></em>.</p>
|
528
|
+
<p>
|
529
|
+
</p>
|
530
|
+
<div class="variablelist"><table border="0">
|
531
|
+
<col align="left" valign="top">
|
532
|
+
<tbody>
|
533
|
+
<tr>
|
534
|
+
<td><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></td>
|
535
|
+
<td> a <a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>
|
536
|
+
</td>
|
537
|
+
</tr>
|
538
|
+
<tr>
|
539
|
+
<td><p><span class="term"><em class="parameter"><code>dx</code></em> :</span></p></td>
|
540
|
+
<td> X component of a distance vector. An in/out parameter
|
541
|
+
</td>
|
542
|
+
</tr>
|
543
|
+
<tr>
|
544
|
+
<td><p><span class="term"><em class="parameter"><code>dy</code></em> :</span></p></td>
|
545
|
+
<td> Y component of a distance vector. An in/out parameter
|
546
|
+
</td>
|
547
|
+
</tr>
|
548
|
+
</tbody>
|
549
|
+
</table></div>
|
550
|
+
</div>
|
551
|
+
<hr>
|
552
|
+
<div class="refsect2" title="cairo_matrix_transform_point ()">
|
553
|
+
<a name="cairo-matrix-transform-point"></a><h3>cairo_matrix_transform_point ()</h3>
|
554
|
+
<pre class="programlisting">void cairo_matrix_transform_point (const <a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a> *matrix,
|
555
|
+
double *x,
|
556
|
+
double *y);</pre>
|
557
|
+
<p>
|
558
|
+
Transforms the point (<em class="parameter"><code>x</code></em>, <em class="parameter"><code>y</code></em>) by <em class="parameter"><code>matrix</code></em>.</p>
|
559
|
+
<p>
|
560
|
+
</p>
|
561
|
+
<div class="variablelist"><table border="0">
|
562
|
+
<col align="left" valign="top">
|
563
|
+
<tbody>
|
564
|
+
<tr>
|
565
|
+
<td><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></td>
|
566
|
+
<td> a <a class="link" href="cairo-matrix.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>
|
567
|
+
</td>
|
568
|
+
</tr>
|
569
|
+
<tr>
|
570
|
+
<td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
|
571
|
+
<td> X position. An in/out parameter
|
572
|
+
</td>
|
573
|
+
</tr>
|
574
|
+
<tr>
|
575
|
+
<td><p><span class="term"><em class="parameter"><code>y</code></em> :</span></p></td>
|
576
|
+
<td> Y position. An in/out parameter
|
577
|
+
</td>
|
578
|
+
</tr>
|
579
|
+
</tbody>
|
580
|
+
</table></div>
|
581
|
+
</div>
|
582
|
+
</div>
|
583
|
+
<div class="refsect1" title="See Also">
|
584
|
+
<a name="cairo-matrix.see-also"></a><h2>See Also</h2>
|
585
|
+
<p>
|
586
|
+
</p>
|
587
|
+
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><a class="link" href="cairo-context.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></li></ul></div>
|
588
|
+
<p>
|
589
|
+
</p>
|
590
|
+
</div>
|
591
|
+
</div>
|
592
|
+
<div class="footer">
|
593
|
+
<hr>
|
594
|
+
Generated by GTK-Doc V1.11</div>
|
595
|
+
</body>
|
596
|
+
</html>
|