cairo 1.14.1-x86-mingw32 → 1.14.2-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.
- checksums.yaml +4 -4
- data/NEWS +21 -0
- data/Rakefile +18 -7
- data/ext/cairo/cairo.def +1 -0
- data/ext/cairo/extconf.rb +23 -10
- data/ext/cairo/rb_cairo.c +3 -0
- data/ext/cairo/rb_cairo.h +3 -3
- data/ext/cairo/rb_cairo_context.c +1 -1
- data/ext/cairo/rb_cairo_io.c +4 -0
- data/ext/cairo/rb_cairo_io.h +2 -0
- data/ext/cairo/rb_cairo_pattern.c +4 -4
- data/ext/cairo/rb_cairo_private.h +2 -0
- data/ext/cairo/rb_cairo_surface.c +64 -232
- data/lib/2.0/cairo.so +0 -0
- data/lib/2.1/cairo.so +0 -0
- data/lib/2.2/cairo.so +0 -0
- data/lib/cairo.rb +20 -19
- data/lib/cairo/region.rb +14 -0
- data/test/test_region.rb +26 -0
- data/vendor/local/bin/fc-cache.exe +0 -0
- data/vendor/local/bin/fc-cat.exe +0 -0
- data/vendor/local/bin/fc-list.exe +0 -0
- data/vendor/local/bin/fc-match.exe +0 -0
- data/vendor/local/bin/fc-pattern.exe +0 -0
- data/vendor/local/bin/fc-query.exe +0 -0
- data/vendor/local/bin/fc-scan.exe +0 -0
- data/vendor/local/bin/fc-validate.exe +0 -0
- data/vendor/local/bin/freetype-config +2 -2
- data/vendor/local/bin/libcairo-2.dll +0 -0
- data/vendor/local/bin/libcairo-gobject-2.dll +0 -0
- data/vendor/local/bin/libcairo-script-interpreter-2.dll +0 -0
- data/vendor/local/bin/libfontconfig-1.dll +0 -0
- data/vendor/local/bin/libfreetype-6.dll +0 -0
- data/vendor/local/bin/libgcc_s_sjlj-1.dll +0 -0
- data/vendor/local/bin/libpixman-1-0.dll +0 -0
- data/vendor/local/bin/libpng-config +1 -1
- data/vendor/local/bin/libpng16-16.dll +0 -0
- data/vendor/local/bin/libpng16-config +1 -1
- data/vendor/local/bin/libstdc++-6.dll +0 -0
- data/vendor/local/bin/libwinpthread-1.dll +0 -0
- data/vendor/local/bin/libxml2-2.dll +0 -0
- data/vendor/local/bin/png-fix-itxt.exe +0 -0
- data/vendor/local/bin/pngfix.exe +0 -0
- data/vendor/local/bin/xmlcatalog.exe +0 -0
- data/vendor/local/bin/xmllint.exe +0 -0
- data/vendor/local/bin/zlib1.dll +0 -0
- data/vendor/local/include/cairo/cairo-version.h +1 -1
- data/vendor/local/include/freetype2/config/ftconfig.h +19 -2
- data/vendor/local/include/freetype2/config/ftheader.h +7 -5
- data/vendor/local/include/freetype2/config/ftoption.h +9 -22
- data/vendor/local/include/freetype2/config/ftstdlib.h +2 -3
- data/vendor/local/include/freetype2/freetype.h +38 -17
- data/vendor/local/include/freetype2/ft2build.h +1 -1
- data/vendor/local/include/freetype2/ftadvanc.h +2 -2
- data/vendor/local/include/freetype2/ftautoh.h +50 -2
- data/vendor/local/include/freetype2/ftbbox.h +1 -1
- data/vendor/local/include/freetype2/ftbdf.h +1 -1
- data/vendor/local/include/freetype2/ftbitmap.h +11 -3
- data/vendor/local/include/freetype2/ftbzip2.h +1 -1
- data/vendor/local/include/freetype2/ftcache.h +3 -3
- data/vendor/local/include/freetype2/ftcffdrv.h +1 -1
- data/vendor/local/include/freetype2/ftcid.h +2 -1
- data/vendor/local/include/freetype2/fterrdef.h +1 -1
- data/vendor/local/include/freetype2/fterrors.h +1 -1
- data/vendor/local/include/freetype2/{ftxf86.h → ftfntfmt.h} +22 -14
- data/vendor/local/include/freetype2/ftgasp.h +1 -1
- data/vendor/local/include/freetype2/ftglyph.h +1 -1
- data/vendor/local/include/freetype2/ftgxval.h +1 -1
- data/vendor/local/include/freetype2/ftgzip.h +1 -1
- data/vendor/local/include/freetype2/ftimage.h +7 -13
- data/vendor/local/include/freetype2/ftincrem.h +1 -1
- data/vendor/local/include/freetype2/ftlcdfil.h +2 -2
- data/vendor/local/include/freetype2/ftlist.h +1 -1
- data/vendor/local/include/freetype2/ftlzw.h +1 -1
- data/vendor/local/include/freetype2/ftmac.h +1 -1
- data/vendor/local/include/freetype2/ftmm.h +17 -11
- data/vendor/local/include/freetype2/ftmodapi.h +4 -2
- data/vendor/local/include/freetype2/ftmoderr.h +1 -1
- data/vendor/local/include/freetype2/ftotval.h +1 -1
- data/vendor/local/include/freetype2/ftoutln.h +1 -1
- data/vendor/local/include/freetype2/ftpfr.h +1 -1
- data/vendor/local/include/freetype2/ftrender.h +3 -8
- data/vendor/local/include/freetype2/ftsizes.h +1 -1
- data/vendor/local/include/freetype2/ftsnames.h +1 -1
- data/vendor/local/include/freetype2/ftstroke.h +1 -1
- data/vendor/local/include/freetype2/ftsynth.h +5 -3
- data/vendor/local/include/freetype2/ftsystem.h +10 -1
- data/vendor/local/include/freetype2/fttrigon.h +1 -1
- data/vendor/local/include/freetype2/ftttdrv.h +85 -22
- data/vendor/local/include/freetype2/fttypes.h +1 -1
- data/vendor/local/include/freetype2/ftwinfnt.h +3 -3
- data/vendor/local/include/freetype2/t1tables.h +4 -3
- data/vendor/local/include/freetype2/ttnameid.h +116 -116
- data/vendor/local/include/freetype2/tttables.h +2 -2
- data/vendor/local/include/freetype2/tttags.h +1 -1
- data/vendor/local/include/freetype2/ttunpat.h +1 -1
- data/vendor/local/include/libpng16/png.h +63 -80
- data/vendor/local/include/libpng16/pngconf.h +8 -30
- data/vendor/local/include/libpng16/pnglibconf.h +10 -4
- data/vendor/local/include/png.h +63 -80
- data/vendor/local/include/pngconf.h +8 -30
- data/vendor/local/include/pnglibconf.h +10 -4
- data/vendor/local/lib/libcairo-gobject.a +0 -0
- data/vendor/local/lib/libcairo-gobject.dll.a +0 -0
- data/vendor/local/lib/libcairo-gobject.la +2 -2
- data/vendor/local/lib/libcairo-script-interpreter.a +0 -0
- data/vendor/local/lib/libcairo-script-interpreter.dll.a +0 -0
- data/vendor/local/lib/libcairo-script-interpreter.la +2 -2
- data/vendor/local/lib/libcairo.a +0 -0
- data/vendor/local/lib/libcairo.dll.a +0 -0
- data/vendor/local/lib/libcairo.la +2 -2
- data/vendor/local/lib/libfontconfig.dll.a +0 -0
- data/vendor/local/lib/libfreetype.a +0 -0
- data/vendor/local/lib/libfreetype.dll.a +0 -0
- data/vendor/local/lib/libfreetype.la +4 -4
- data/vendor/local/lib/libpixman-1.a +0 -0
- data/vendor/local/lib/libpixman-1.dll.a +0 -0
- data/vendor/local/lib/libpng.a +0 -0
- data/vendor/local/lib/libpng.dll.a +0 -0
- data/vendor/local/lib/libpng.la +4 -4
- data/vendor/local/lib/libpng16.a +0 -0
- data/vendor/local/lib/libpng16.dll.a +0 -0
- data/vendor/local/lib/libpng16.la +4 -4
- data/vendor/local/lib/libxml2.a +0 -0
- data/vendor/local/lib/libxml2.dll.a +0 -0
- data/vendor/local/lib/libz.a +0 -0
- data/vendor/local/lib/libz.dll.a +0 -0
- data/vendor/local/lib/pkgconfig/cairo-fc.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-ft.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-gobject.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-pdf.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-png.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-ps.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-script.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-svg.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-win32-font.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-win32.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo.pc +1 -1
- data/vendor/local/lib/pkgconfig/freetype2.pc +1 -1
- data/vendor/local/lib/pkgconfig/libpng.pc +1 -1
- data/vendor/local/lib/pkgconfig/libpng16.pc +1 -1
- data/vendor/local/share/aclocal/freetype2.m4 +1 -1
- data/vendor/local/share/gtk-doc/html/cairo/bindings-errors.html +12 -12
- data/vendor/local/share/gtk-doc/html/cairo/bindings-fonts.html +12 -12
- data/vendor/local/share/gtk-doc/html/cairo/bindings-memory.html +12 -12
- data/vendor/local/share/gtk-doc/html/cairo/bindings-overloading.html +13 -13
- data/vendor/local/share/gtk-doc/html/cairo/bindings-path.html +12 -12
- data/vendor/local/share/gtk-doc/html/cairo/bindings-patterns.html +35 -35
- data/vendor/local/share/gtk-doc/html/cairo/bindings-return-values.html +10 -10
- data/vendor/local/share/gtk-doc/html/cairo/bindings-streams.html +11 -11
- data/vendor/local/share/gtk-doc/html/cairo/bindings-surfaces.html +13 -13
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Error-handling.html +294 -225
- data/vendor/local/share/gtk-doc/html/cairo/cairo-FreeType-Fonts.html +387 -269
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Image-Surfaces.html +432 -302
- data/vendor/local/share/gtk-doc/html/cairo/cairo-PDF-Surfaces.html +325 -217
- data/vendor/local/share/gtk-doc/html/cairo/cairo-PNG-Support.html +298 -193
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Paths.html +1121 -812
- data/vendor/local/share/gtk-doc/html/cairo/cairo-PostScript-Surfaces.html +513 -383
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Quartz-(CGFont)-Fonts.html +126 -83
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Quartz-Surfaces.html +172 -119
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Raster-Sources.html +581 -372
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Recording-Surfaces.html +179 -130
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Regions.html +888 -539
- data/vendor/local/share/gtk-doc/html/cairo/cairo-SVG-Surfaces.html +287 -192
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Script-Surfaces.html +374 -231
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Transformations.html +395 -219
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Types.html +125 -75
- data/vendor/local/share/gtk-doc/html/cairo/cairo-User-Fonts.html +630 -464
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Version-Information.html +225 -200
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Win32-Fonts.html +336 -214
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Win32-Surfaces.html +277 -186
- data/vendor/local/share/gtk-doc/html/cairo/cairo-XCB-Surfaces.html +495 -350
- data/vendor/local/share/gtk-doc/html/cairo/cairo-XLib-Surfaces.html +557 -362
- data/vendor/local/share/gtk-doc/html/cairo/cairo-XLib-XRender-Backend.html +158 -111
- data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-device-t.html +655 -441
- data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-font-face-t.html +389 -280
- data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-font-options-t.html +667 -451
- data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-matrix-t.html +579 -351
- data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-pattern-t.html +2006 -1545
- data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-scaled-font-t.html +892 -618
- data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html +1624 -1188
- data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-t.html +2903 -2104
- data/vendor/local/share/gtk-doc/html/cairo/cairo-drawing.html +13 -13
- data/vendor/local/share/gtk-doc/html/cairo/cairo-fonts.html +13 -13
- data/vendor/local/share/gtk-doc/html/cairo/cairo-support.html +13 -13
- data/vendor/local/share/gtk-doc/html/cairo/cairo-surfaces.html +13 -13
- data/vendor/local/share/gtk-doc/html/cairo/cairo-text.html +1115 -758
- data/vendor/local/share/gtk-doc/html/cairo/cairo.devhelp2 +419 -604
- data/vendor/local/share/gtk-doc/html/cairo/home.png +0 -0
- data/vendor/local/share/gtk-doc/html/cairo/index-1.10.html +56 -56
- data/vendor/local/share/gtk-doc/html/cairo/index-1.12.html +70 -70
- data/vendor/local/share/gtk-doc/html/cairo/index-1.2.html +58 -58
- data/vendor/local/share/gtk-doc/html/cairo/index-1.4.html +39 -39
- data/vendor/local/share/gtk-doc/html/cairo/index-1.6.html +30 -30
- data/vendor/local/share/gtk-doc/html/cairo/index-1.8.html +38 -38
- data/vendor/local/share/gtk-doc/html/cairo/index-all.html +426 -426
- data/vendor/local/share/gtk-doc/html/cairo/index.html +6 -6
- data/vendor/local/share/gtk-doc/html/cairo/index.sgml +234 -325
- data/vendor/local/share/gtk-doc/html/cairo/language-bindings.html +12 -12
- data/vendor/local/share/gtk-doc/html/cairo/left-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/cairo/left.png +0 -0
- data/vendor/local/share/gtk-doc/html/cairo/right-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/cairo/right.png +0 -0
- data/vendor/local/share/gtk-doc/html/cairo/style.css +221 -26
- data/vendor/local/share/gtk-doc/html/cairo/up-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/cairo/up.png +0 -0
- data/vendor/local/share/license/cairo/README +1 -1
- data/vendor/local/share/license/freetype/README +6 -6
- data/vendor/local/share/license/freetype/README.git +1 -1
- data/vendor/local/share/license/libpng/README +2 -2
- data/vendor/local/share/man/man1/freetype-config.1 +1 -1
- data/vendor/local/share/man/man3/libpng.3 +85 -92
- data/vendor/local/share/man/man3/libpngpf.3 +2 -2
- data/vendor/local/share/man/man5/png.5 +1 -1
- metadata +23 -19
@@ -2,30 +2,27 @@
|
|
2
2
|
<html>
|
3
3
|
<head>
|
4
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.
|
5
|
+
<title>Cairo: A Vector Graphics Library: cairo_matrix_t</title>
|
6
|
+
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
|
7
7
|
<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library">
|
8
8
|
<link rel="up" href="cairo-support.html" title="Utilities">
|
9
9
|
<link rel="prev" href="cairo-support.html" title="Utilities">
|
10
10
|
<link rel="next" href="cairo-Error-handling.html" title="Error handling">
|
11
|
-
<meta name="generator" content="GTK-Doc V1.
|
11
|
+
<meta name="generator" content="GTK-Doc V1.20 (XML mode)">
|
12
12
|
<link rel="stylesheet" href="style.css" type="text/css">
|
13
13
|
</head>
|
14
14
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
15
|
-
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="
|
16
|
-
<
|
17
|
-
<
|
18
|
-
<
|
19
|
-
<
|
20
|
-
|
21
|
-
<td><a accesskey="
|
22
|
-
|
23
|
-
<
|
24
|
-
<a href="
|
25
|
-
|
26
|
-
<a href="#cairo-cairo-matrix-t.description" class="shortcut">Description</a>
|
27
|
-
</td></tr>
|
28
|
-
</table>
|
15
|
+
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="10"><tr valign="middle">
|
16
|
+
<td width="100%" align="left" class="shortcuts">
|
17
|
+
<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
|
18
|
+
<a href="#cairo-cairo-matrix-t.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span>
|
19
|
+
<a href="#cairo-cairo-matrix-t.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
|
20
|
+
</td>
|
21
|
+
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
|
22
|
+
<td><a accesskey="u" href="cairo-support.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
|
23
|
+
<td><a accesskey="p" href="cairo-support.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
|
24
|
+
<td><a accesskey="n" href="cairo-Error-handling.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
|
25
|
+
</tr></table>
|
29
26
|
<div class="refentry">
|
30
27
|
<a name="cairo-cairo-matrix-t"></a><div class="titlepage"></div>
|
31
28
|
<div class="refnamediv"><table width="100%"><tr>
|
@@ -33,527 +30,758 @@
|
|
33
30
|
<h2><span class="refentrytitle"><a name="cairo-cairo-matrix-t.top_of_page"></a>cairo_matrix_t</span></h2>
|
34
31
|
<p>cairo_matrix_t — Generic matrix operations</p>
|
35
32
|
</td>
|
36
|
-
<td valign="top" align="right"></td>
|
33
|
+
<td class="gallery_image" valign="top" align="right"></td>
|
37
34
|
</tr></table></div>
|
38
|
-
<div class="refsynopsisdiv">
|
39
|
-
<a name="cairo-cairo-matrix-t.synopsis"></a><h2>Synopsis</h2>
|
40
|
-
<pre class="synopsis"> <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a>;
|
41
|
-
<span class="returnvalue">void</span> <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-init" title="cairo_matrix_init ()">cairo_matrix_init</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>,
|
42
|
-
<em class="parameter"><code><span class="type">double</span> xx</code></em>,
|
43
|
-
<em class="parameter"><code><span class="type">double</span> yx</code></em>,
|
44
|
-
<em class="parameter"><code><span class="type">double</span> xy</code></em>,
|
45
|
-
<em class="parameter"><code><span class="type">double</span> yy</code></em>,
|
46
|
-
<em class="parameter"><code><span class="type">double</span> x0</code></em>,
|
47
|
-
<em class="parameter"><code><span class="type">double</span> y0</code></em>);
|
48
|
-
<span class="returnvalue">void</span> <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-init-identity" title="cairo_matrix_init_identity ()">cairo_matrix_init_identity</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>);
|
49
|
-
<span class="returnvalue">void</span> <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-init-translate" title="cairo_matrix_init_translate ()">cairo_matrix_init_translate</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>,
|
50
|
-
<em class="parameter"><code><span class="type">double</span> tx</code></em>,
|
51
|
-
<em class="parameter"><code><span class="type">double</span> ty</code></em>);
|
52
|
-
<span class="returnvalue">void</span> <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-init-scale" title="cairo_matrix_init_scale ()">cairo_matrix_init_scale</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>,
|
53
|
-
<em class="parameter"><code><span class="type">double</span> sx</code></em>,
|
54
|
-
<em class="parameter"><code><span class="type">double</span> sy</code></em>);
|
55
|
-
<span class="returnvalue">void</span> <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-init-rotate" title="cairo_matrix_init_rotate ()">cairo_matrix_init_rotate</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>,
|
56
|
-
<em class="parameter"><code><span class="type">double</span> radians</code></em>);
|
57
|
-
<span class="returnvalue">void</span> <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-translate" title="cairo_matrix_translate ()">cairo_matrix_translate</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>,
|
58
|
-
<em class="parameter"><code><span class="type">double</span> tx</code></em>,
|
59
|
-
<em class="parameter"><code><span class="type">double</span> ty</code></em>);
|
60
|
-
<span class="returnvalue">void</span> <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-scale" title="cairo_matrix_scale ()">cairo_matrix_scale</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>,
|
61
|
-
<em class="parameter"><code><span class="type">double</span> sx</code></em>,
|
62
|
-
<em class="parameter"><code><span class="type">double</span> sy</code></em>);
|
63
|
-
<span class="returnvalue">void</span> <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-rotate" title="cairo_matrix_rotate ()">cairo_matrix_rotate</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>,
|
64
|
-
<em class="parameter"><code><span class="type">double</span> radians</code></em>);
|
65
|
-
<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-invert" title="cairo_matrix_invert ()">cairo_matrix_invert</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>);
|
66
|
-
<span class="returnvalue">void</span> <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-multiply" title="cairo_matrix_multiply ()">cairo_matrix_multiply</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *result</code></em>,
|
67
|
-
<em class="parameter"><code>const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *a</code></em>,
|
68
|
-
<em class="parameter"><code>const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *b</code></em>);
|
69
|
-
<span class="returnvalue">void</span> <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-transform-distance" title="cairo_matrix_transform_distance ()">cairo_matrix_transform_distance</a> (<em class="parameter"><code>const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>,
|
70
|
-
<em class="parameter"><code><span class="type">double</span> *dx</code></em>,
|
71
|
-
<em class="parameter"><code><span class="type">double</span> *dy</code></em>);
|
72
|
-
<span class="returnvalue">void</span> <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-transform-point" title="cairo_matrix_transform_point ()">cairo_matrix_transform_point</a> (<em class="parameter"><code>const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>,
|
73
|
-
<em class="parameter"><code><span class="type">double</span> *x</code></em>,
|
74
|
-
<em class="parameter"><code><span class="type">double</span> *y</code></em>);
|
75
|
-
</pre>
|
76
|
-
</div>
|
77
|
-
<div class="refsect1">
|
78
|
-
<a name="cairo-cairo-matrix-t.description"></a><h2>Description</h2>
|
79
|
-
<p>
|
80
|
-
<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> is used throughout cairo to convert between different
|
81
|
-
coordinate spaces. A <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> holds an affine transformation,
|
82
|
-
such as a scale, rotation, shear, or a combination of these.
|
83
|
-
The transformation of a point (<code class="literal">x</code>,<code class="literal">y</code>)
|
84
|
-
is given by:
|
85
|
-
</p>
|
86
|
-
<p>
|
87
|
-
</p>
|
88
|
-
<pre class="programlisting">
|
89
|
-
x_new = xx * x + xy * y + x0;
|
90
|
-
y_new = yx * x + yy * y + y0;
|
91
|
-
</pre>
|
92
|
-
<p>
|
93
|
-
</p>
|
94
|
-
<p>
|
95
|
-
The current transformation matrix of a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a>, represented as a
|
96
|
-
<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>, defines the transformation from user-space
|
97
|
-
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
|
98
|
-
<a class="link" href="cairo-Transformations.html#cairo-set-matrix" title="cairo_set_matrix ()"><code class="function">cairo_set_matrix()</code></a>.
|
99
|
-
</p>
|
100
|
-
</div>
|
101
35
|
<div class="refsect1">
|
102
|
-
<a name="cairo-cairo-matrix-t.
|
103
|
-
<div class="
|
104
|
-
<
|
105
|
-
<
|
106
|
-
|
107
|
-
|
108
|
-
double x0; double y0;
|
109
|
-
} cairo_matrix_t;
|
110
|
-
</pre>
|
111
|
-
<p>
|
112
|
-
A <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> holds an affine transformation, such as a scale,
|
113
|
-
rotation, shear, or a combination of those. The transformation of
|
114
|
-
a point (x, y) is given by:
|
115
|
-
</p>
|
116
|
-
<pre class="programlisting">
|
117
|
-
x_new = xx * x + xy * y + x0;
|
118
|
-
y_new = yx * x + yy * y + y0;
|
119
|
-
</pre>
|
120
|
-
<p>
|
121
|
-
</p>
|
122
|
-
<div class="variablelist"><table border="0">
|
123
|
-
<col align="left" valign="top">
|
36
|
+
<a name="cairo-cairo-matrix-t.functions"></a><h2>Functions</h2>
|
37
|
+
<div class="informaltable"><table width="100%" border="0">
|
38
|
+
<colgroup>
|
39
|
+
<col width="150px" class="functions_return">
|
40
|
+
<col class="functions_name">
|
41
|
+
</colgroup>
|
124
42
|
<tbody>
|
125
43
|
<tr>
|
126
|
-
<td
|
127
|
-
<
|
44
|
+
<td class="function_type">
|
45
|
+
<span class="returnvalue">void</span>
|
46
|
+
</td>
|
47
|
+
<td class="function_name">
|
48
|
+
<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-init" title="cairo_matrix_init ()">cairo_matrix_init</a> <span class="c_punctuation">()</span>
|
49
|
+
</td>
|
128
50
|
</tr>
|
129
51
|
<tr>
|
130
|
-
<td
|
131
|
-
<
|
52
|
+
<td class="function_type">
|
53
|
+
<span class="returnvalue">void</span>
|
54
|
+
</td>
|
55
|
+
<td class="function_name">
|
56
|
+
<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-init-identity" title="cairo_matrix_init_identity ()">cairo_matrix_init_identity</a> <span class="c_punctuation">()</span>
|
57
|
+
</td>
|
132
58
|
</tr>
|
133
59
|
<tr>
|
134
|
-
<td
|
135
|
-
<
|
60
|
+
<td class="function_type">
|
61
|
+
<span class="returnvalue">void</span>
|
62
|
+
</td>
|
63
|
+
<td class="function_name">
|
64
|
+
<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-init-translate" title="cairo_matrix_init_translate ()">cairo_matrix_init_translate</a> <span class="c_punctuation">()</span>
|
65
|
+
</td>
|
136
66
|
</tr>
|
137
67
|
<tr>
|
138
|
-
<td
|
139
|
-
<
|
68
|
+
<td class="function_type">
|
69
|
+
<span class="returnvalue">void</span>
|
70
|
+
</td>
|
71
|
+
<td class="function_name">
|
72
|
+
<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-init-scale" title="cairo_matrix_init_scale ()">cairo_matrix_init_scale</a> <span class="c_punctuation">()</span>
|
73
|
+
</td>
|
140
74
|
</tr>
|
141
75
|
<tr>
|
142
|
-
<td
|
143
|
-
<
|
76
|
+
<td class="function_type">
|
77
|
+
<span class="returnvalue">void</span>
|
78
|
+
</td>
|
79
|
+
<td class="function_name">
|
80
|
+
<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-init-rotate" title="cairo_matrix_init_rotate ()">cairo_matrix_init_rotate</a> <span class="c_punctuation">()</span>
|
81
|
+
</td>
|
144
82
|
</tr>
|
145
83
|
<tr>
|
146
|
-
<td
|
147
|
-
<
|
84
|
+
<td class="function_type">
|
85
|
+
<span class="returnvalue">void</span>
|
86
|
+
</td>
|
87
|
+
<td class="function_name">
|
88
|
+
<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-translate" title="cairo_matrix_translate ()">cairo_matrix_translate</a> <span class="c_punctuation">()</span>
|
89
|
+
</td>
|
90
|
+
</tr>
|
91
|
+
<tr>
|
92
|
+
<td class="function_type">
|
93
|
+
<span class="returnvalue">void</span>
|
94
|
+
</td>
|
95
|
+
<td class="function_name">
|
96
|
+
<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-scale" title="cairo_matrix_scale ()">cairo_matrix_scale</a> <span class="c_punctuation">()</span>
|
97
|
+
</td>
|
98
|
+
</tr>
|
99
|
+
<tr>
|
100
|
+
<td class="function_type">
|
101
|
+
<span class="returnvalue">void</span>
|
102
|
+
</td>
|
103
|
+
<td class="function_name">
|
104
|
+
<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-rotate" title="cairo_matrix_rotate ()">cairo_matrix_rotate</a> <span class="c_punctuation">()</span>
|
105
|
+
</td>
|
106
|
+
</tr>
|
107
|
+
<tr>
|
108
|
+
<td class="function_type">
|
109
|
+
<a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a>
|
110
|
+
</td>
|
111
|
+
<td class="function_name">
|
112
|
+
<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-invert" title="cairo_matrix_invert ()">cairo_matrix_invert</a> <span class="c_punctuation">()</span>
|
113
|
+
</td>
|
114
|
+
</tr>
|
115
|
+
<tr>
|
116
|
+
<td class="function_type">
|
117
|
+
<span class="returnvalue">void</span>
|
118
|
+
</td>
|
119
|
+
<td class="function_name">
|
120
|
+
<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-multiply" title="cairo_matrix_multiply ()">cairo_matrix_multiply</a> <span class="c_punctuation">()</span>
|
121
|
+
</td>
|
122
|
+
</tr>
|
123
|
+
<tr>
|
124
|
+
<td class="function_type">
|
125
|
+
<span class="returnvalue">void</span>
|
126
|
+
</td>
|
127
|
+
<td class="function_name">
|
128
|
+
<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-transform-distance" title="cairo_matrix_transform_distance ()">cairo_matrix_transform_distance</a> <span class="c_punctuation">()</span>
|
129
|
+
</td>
|
130
|
+
</tr>
|
131
|
+
<tr>
|
132
|
+
<td class="function_type">
|
133
|
+
<span class="returnvalue">void</span>
|
134
|
+
</td>
|
135
|
+
<td class="function_name">
|
136
|
+
<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-transform-point" title="cairo_matrix_transform_point ()">cairo_matrix_transform_point</a> <span class="c_punctuation">()</span>
|
137
|
+
</td>
|
148
138
|
</tr>
|
149
139
|
</tbody>
|
150
140
|
</table></div>
|
151
|
-
<p class="since">Since 1.0</p>
|
152
141
|
</div>
|
153
|
-
<
|
142
|
+
<div class="refsect1">
|
143
|
+
<a name="cairo-cairo-matrix-t.other"></a><h2>Types and Values</h2>
|
144
|
+
<div class="informaltable"><table width="100%" border="0">
|
145
|
+
<colgroup>
|
146
|
+
<col width="150px" class="name">
|
147
|
+
<col class="description">
|
148
|
+
</colgroup>
|
149
|
+
<tbody><tr>
|
150
|
+
<td class="datatype_keyword"> </td>
|
151
|
+
<td class="function_name"><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t">cairo_matrix_t</a></td>
|
152
|
+
</tr></tbody>
|
153
|
+
</table></div>
|
154
|
+
</div>
|
155
|
+
<div class="refsect1">
|
156
|
+
<a name="cairo-cairo-matrix-t.object-hierarchy"></a><h2>Object Hierarchy</h2>
|
157
|
+
<pre class="screen">
|
158
|
+
</pre>
|
159
|
+
</div>
|
160
|
+
<div class="refsect1">
|
161
|
+
<a name="cairo-cairo-matrix-t.description"></a><h2>Description</h2>
|
162
|
+
<p><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> is used throughout cairo to convert between different
|
163
|
+
coordinate spaces. A <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> holds an affine transformation,
|
164
|
+
such as a scale, rotation, shear, or a combination of these.
|
165
|
+
The transformation of a point (<code class="literal">x</code>,<code class="literal">y</code>)
|
166
|
+
is given by:</p>
|
167
|
+
<pre class="programlisting">
|
168
|
+
x_new = xx * x + xy * y + x0;
|
169
|
+
y_new = yx * x + yy * y + y0;
|
170
|
+
</pre>
|
171
|
+
<p>The current transformation matrix of a <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a>, represented as a
|
172
|
+
<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>, defines the transformation from user-space
|
173
|
+
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
|
174
|
+
<a class="link" href="cairo-Transformations.html#cairo-set-matrix" title="cairo_set_matrix ()"><code class="function">cairo_set_matrix()</code></a>.</p>
|
175
|
+
</div>
|
176
|
+
<div class="refsect1">
|
177
|
+
<a name="cairo-cairo-matrix-t.functions_details"></a><h2>Functions</h2>
|
154
178
|
<div class="refsect2">
|
155
|
-
<a name="cairo-matrix-init"></a><h3>cairo_matrix_init
|
156
|
-
<pre class="programlisting"><span class="returnvalue">void</span>
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
<
|
164
|
-
Sets <em class="parameter"><code>matrix</code></em>
|
165
|
-
|
166
|
-
|
167
|
-
</
|
179
|
+
<a name="cairo-matrix-init"></a><h3>cairo_matrix_init ()</h3>
|
180
|
+
<pre class="programlisting"><span class="returnvalue">void</span>
|
181
|
+
cairo_matrix_init (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>,
|
182
|
+
<em class="parameter"><code><span class="type">double</span> xx</code></em>,
|
183
|
+
<em class="parameter"><code><span class="type">double</span> yx</code></em>,
|
184
|
+
<em class="parameter"><code><span class="type">double</span> xy</code></em>,
|
185
|
+
<em class="parameter"><code><span class="type">double</span> yy</code></em>,
|
186
|
+
<em class="parameter"><code><span class="type">double</span> x0</code></em>,
|
187
|
+
<em class="parameter"><code><span class="type">double</span> y0</code></em>);</pre>
|
188
|
+
<p>Sets <em class="parameter"><code>matrix</code></em>
|
189
|
+
to be the affine transformation given by
|
190
|
+
<em class="parameter"><code>xx</code></em>
|
191
|
+
, <em class="parameter"><code>yx</code></em>
|
192
|
+
, <em class="parameter"><code>xy</code></em>
|
193
|
+
, <em class="parameter"><code>yy</code></em>
|
194
|
+
, <em class="parameter"><code>x0</code></em>
|
195
|
+
, <em class="parameter"><code>y0</code></em>
|
196
|
+
. The transformation is given
|
197
|
+
by:</p>
|
168
198
|
<pre class="programlisting">
|
169
199
|
x_new = xx * x + xy * y + x0;
|
170
200
|
y_new = yx * x + yy * y + y0;
|
171
201
|
</pre>
|
172
|
-
<
|
173
|
-
</
|
174
|
-
<div class="
|
175
|
-
<
|
202
|
+
<div class="refsect3">
|
203
|
+
<a name="id-1.6.2.7.2.6"></a><h4>Parameters</h4>
|
204
|
+
<div class="informaltable"><table width="100%" border="0">
|
205
|
+
<colgroup>
|
206
|
+
<col width="150px" class="parameters_name">
|
207
|
+
<col class="parameters_description">
|
208
|
+
<col width="200px" class="parameters_annotations">
|
209
|
+
</colgroup>
|
176
210
|
<tbody>
|
177
211
|
<tr>
|
178
|
-
<td
|
179
|
-
<td>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>
|
180
|
-
</td>
|
212
|
+
<td class="parameter_name"><p>matrix</p></td>
|
213
|
+
<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td>
|
214
|
+
<td class="parameter_annotations"> </td>
|
181
215
|
</tr>
|
182
216
|
<tr>
|
183
|
-
<td
|
184
|
-
<td>xx component of the affine transformation</td>
|
217
|
+
<td class="parameter_name"><p>xx</p></td>
|
218
|
+
<td class="parameter_description"><p>xx component of the affine transformation</p></td>
|
219
|
+
<td class="parameter_annotations"> </td>
|
185
220
|
</tr>
|
186
221
|
<tr>
|
187
|
-
<td
|
188
|
-
<td>yx component of the affine transformation</td>
|
222
|
+
<td class="parameter_name"><p>yx</p></td>
|
223
|
+
<td class="parameter_description"><p>yx component of the affine transformation</p></td>
|
224
|
+
<td class="parameter_annotations"> </td>
|
189
225
|
</tr>
|
190
226
|
<tr>
|
191
|
-
<td
|
192
|
-
<td>xy component of the affine transformation</td>
|
227
|
+
<td class="parameter_name"><p>xy</p></td>
|
228
|
+
<td class="parameter_description"><p>xy component of the affine transformation</p></td>
|
229
|
+
<td class="parameter_annotations"> </td>
|
193
230
|
</tr>
|
194
231
|
<tr>
|
195
|
-
<td
|
196
|
-
<td>yy component of the affine transformation</td>
|
232
|
+
<td class="parameter_name"><p>yy</p></td>
|
233
|
+
<td class="parameter_description"><p>yy component of the affine transformation</p></td>
|
234
|
+
<td class="parameter_annotations"> </td>
|
197
235
|
</tr>
|
198
236
|
<tr>
|
199
|
-
<td
|
200
|
-
<td>X translation component of the affine transformation</td>
|
237
|
+
<td class="parameter_name"><p>x0</p></td>
|
238
|
+
<td class="parameter_description"><p>X translation component of the affine transformation</p></td>
|
239
|
+
<td class="parameter_annotations"> </td>
|
201
240
|
</tr>
|
202
241
|
<tr>
|
203
|
-
<td
|
204
|
-
<td>Y translation component of the affine transformation</td>
|
242
|
+
<td class="parameter_name"><p>y0</p></td>
|
243
|
+
<td class="parameter_description"><p>Y translation component of the affine transformation</p></td>
|
244
|
+
<td class="parameter_annotations"> </td>
|
205
245
|
</tr>
|
206
246
|
</tbody>
|
207
247
|
</table></div>
|
248
|
+
</div>
|
208
249
|
<p class="since">Since 1.0</p>
|
209
250
|
</div>
|
210
251
|
<hr>
|
211
252
|
<div class="refsect2">
|
212
|
-
<a name="cairo-matrix-init-identity"></a><h3>cairo_matrix_init_identity
|
213
|
-
<pre class="programlisting"><span class="returnvalue">void</span>
|
214
|
-
<
|
215
|
-
Modifies <em class="parameter"><code>matrix</code></em>
|
216
|
-
|
217
|
-
<div class="
|
218
|
-
<
|
253
|
+
<a name="cairo-matrix-init-identity"></a><h3>cairo_matrix_init_identity ()</h3>
|
254
|
+
<pre class="programlisting"><span class="returnvalue">void</span>
|
255
|
+
cairo_matrix_init_identity (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>);</pre>
|
256
|
+
<p>Modifies <em class="parameter"><code>matrix</code></em>
|
257
|
+
to be an identity transformation.</p>
|
258
|
+
<div class="refsect3">
|
259
|
+
<a name="id-1.6.2.7.3.5"></a><h4>Parameters</h4>
|
260
|
+
<div class="informaltable"><table width="100%" border="0">
|
261
|
+
<colgroup>
|
262
|
+
<col width="150px" class="parameters_name">
|
263
|
+
<col class="parameters_description">
|
264
|
+
<col width="200px" class="parameters_annotations">
|
265
|
+
</colgroup>
|
219
266
|
<tbody><tr>
|
220
|
-
<td
|
221
|
-
<td>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>
|
222
|
-
</td>
|
267
|
+
<td class="parameter_name"><p>matrix</p></td>
|
268
|
+
<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td>
|
269
|
+
<td class="parameter_annotations"> </td>
|
223
270
|
</tr></tbody>
|
224
271
|
</table></div>
|
272
|
+
</div>
|
225
273
|
<p class="since">Since 1.0</p>
|
226
274
|
</div>
|
227
275
|
<hr>
|
228
276
|
<div class="refsect2">
|
229
|
-
<a name="cairo-matrix-init-translate"></a><h3>cairo_matrix_init_translate
|
230
|
-
<pre class="programlisting"><span class="returnvalue">void</span>
|
231
|
-
|
232
|
-
|
233
|
-
<
|
234
|
-
Initializes <em class="parameter"><code>matrix</code></em>
|
235
|
-
<em class="parameter"><code>
|
236
|
-
|
237
|
-
<
|
238
|
-
|
277
|
+
<a name="cairo-matrix-init-translate"></a><h3>cairo_matrix_init_translate ()</h3>
|
278
|
+
<pre class="programlisting"><span class="returnvalue">void</span>
|
279
|
+
cairo_matrix_init_translate (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>,
|
280
|
+
<em class="parameter"><code><span class="type">double</span> tx</code></em>,
|
281
|
+
<em class="parameter"><code><span class="type">double</span> ty</code></em>);</pre>
|
282
|
+
<p>Initializes <em class="parameter"><code>matrix</code></em>
|
283
|
+
to a transformation that translates by <em class="parameter"><code>tx</code></em>
|
284
|
+
and
|
285
|
+
<em class="parameter"><code>ty</code></em>
|
286
|
+
in the X and Y dimensions, respectively.</p>
|
287
|
+
<div class="refsect3">
|
288
|
+
<a name="id-1.6.2.7.4.5"></a><h4>Parameters</h4>
|
289
|
+
<div class="informaltable"><table width="100%" border="0">
|
290
|
+
<colgroup>
|
291
|
+
<col width="150px" class="parameters_name">
|
292
|
+
<col class="parameters_description">
|
293
|
+
<col width="200px" class="parameters_annotations">
|
294
|
+
</colgroup>
|
239
295
|
<tbody>
|
240
296
|
<tr>
|
241
|
-
<td
|
242
|
-
<td>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>
|
243
|
-
</td>
|
297
|
+
<td class="parameter_name"><p>matrix</p></td>
|
298
|
+
<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td>
|
299
|
+
<td class="parameter_annotations"> </td>
|
244
300
|
</tr>
|
245
301
|
<tr>
|
246
|
-
<td
|
247
|
-
<td>amount to translate in the X direction</td>
|
302
|
+
<td class="parameter_name"><p>tx</p></td>
|
303
|
+
<td class="parameter_description"><p>amount to translate in the X direction</p></td>
|
304
|
+
<td class="parameter_annotations"> </td>
|
248
305
|
</tr>
|
249
306
|
<tr>
|
250
|
-
<td
|
251
|
-
<td>amount to translate in the Y direction</td>
|
307
|
+
<td class="parameter_name"><p>ty</p></td>
|
308
|
+
<td class="parameter_description"><p>amount to translate in the Y direction</p></td>
|
309
|
+
<td class="parameter_annotations"> </td>
|
252
310
|
</tr>
|
253
311
|
</tbody>
|
254
312
|
</table></div>
|
313
|
+
</div>
|
255
314
|
<p class="since">Since 1.0</p>
|
256
315
|
</div>
|
257
316
|
<hr>
|
258
317
|
<div class="refsect2">
|
259
|
-
<a name="cairo-matrix-init-scale"></a><h3>cairo_matrix_init_scale
|
260
|
-
<pre class="programlisting"><span class="returnvalue">void</span>
|
261
|
-
|
262
|
-
|
263
|
-
<
|
264
|
-
Initializes <em class="parameter"><code>matrix</code></em>
|
265
|
-
|
266
|
-
</
|
267
|
-
|
268
|
-
|
318
|
+
<a name="cairo-matrix-init-scale"></a><h3>cairo_matrix_init_scale ()</h3>
|
319
|
+
<pre class="programlisting"><span class="returnvalue">void</span>
|
320
|
+
cairo_matrix_init_scale (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>,
|
321
|
+
<em class="parameter"><code><span class="type">double</span> sx</code></em>,
|
322
|
+
<em class="parameter"><code><span class="type">double</span> sy</code></em>);</pre>
|
323
|
+
<p>Initializes <em class="parameter"><code>matrix</code></em>
|
324
|
+
to a transformation that scales by <em class="parameter"><code>sx</code></em>
|
325
|
+
and <em class="parameter"><code>sy</code></em>
|
326
|
+
|
327
|
+
in the X and Y dimensions, respectively.</p>
|
328
|
+
<div class="refsect3">
|
329
|
+
<a name="id-1.6.2.7.5.5"></a><h4>Parameters</h4>
|
330
|
+
<div class="informaltable"><table width="100%" border="0">
|
331
|
+
<colgroup>
|
332
|
+
<col width="150px" class="parameters_name">
|
333
|
+
<col class="parameters_description">
|
334
|
+
<col width="200px" class="parameters_annotations">
|
335
|
+
</colgroup>
|
269
336
|
<tbody>
|
270
337
|
<tr>
|
271
|
-
<td
|
272
|
-
<td>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>
|
273
|
-
</td>
|
338
|
+
<td class="parameter_name"><p>matrix</p></td>
|
339
|
+
<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td>
|
340
|
+
<td class="parameter_annotations"> </td>
|
274
341
|
</tr>
|
275
342
|
<tr>
|
276
|
-
<td
|
277
|
-
<td>scale factor in the X direction</td>
|
343
|
+
<td class="parameter_name"><p>sx</p></td>
|
344
|
+
<td class="parameter_description"><p>scale factor in the X direction</p></td>
|
345
|
+
<td class="parameter_annotations"> </td>
|
278
346
|
</tr>
|
279
347
|
<tr>
|
280
|
-
<td
|
281
|
-
<td>scale factor in the Y direction</td>
|
348
|
+
<td class="parameter_name"><p>sy</p></td>
|
349
|
+
<td class="parameter_description"><p>scale factor in the Y direction</p></td>
|
350
|
+
<td class="parameter_annotations"> </td>
|
282
351
|
</tr>
|
283
352
|
</tbody>
|
284
353
|
</table></div>
|
354
|
+
</div>
|
285
355
|
<p class="since">Since 1.0</p>
|
286
356
|
</div>
|
287
357
|
<hr>
|
288
358
|
<div class="refsect2">
|
289
|
-
<a name="cairo-matrix-init-rotate"></a><h3>cairo_matrix_init_rotate
|
290
|
-
<pre class="programlisting"><span class="returnvalue">void</span>
|
291
|
-
|
292
|
-
<
|
293
|
-
Initialized <em class="parameter"><code>matrix</code></em>
|
294
|
-
</
|
295
|
-
|
296
|
-
<
|
359
|
+
<a name="cairo-matrix-init-rotate"></a><h3>cairo_matrix_init_rotate ()</h3>
|
360
|
+
<pre class="programlisting"><span class="returnvalue">void</span>
|
361
|
+
cairo_matrix_init_rotate (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>,
|
362
|
+
<em class="parameter"><code><span class="type">double</span> radians</code></em>);</pre>
|
363
|
+
<p>Initialized <em class="parameter"><code>matrix</code></em>
|
364
|
+
to a transformation that rotates by <em class="parameter"><code>radians</code></em>
|
365
|
+
.</p>
|
366
|
+
<div class="refsect3">
|
367
|
+
<a name="id-1.6.2.7.6.5"></a><h4>Parameters</h4>
|
368
|
+
<div class="informaltable"><table width="100%" border="0">
|
369
|
+
<colgroup>
|
370
|
+
<col width="150px" class="parameters_name">
|
371
|
+
<col class="parameters_description">
|
372
|
+
<col width="200px" class="parameters_annotations">
|
373
|
+
</colgroup>
|
297
374
|
<tbody>
|
298
375
|
<tr>
|
299
|
-
<td
|
300
|
-
<td>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>
|
301
|
-
</td>
|
376
|
+
<td class="parameter_name"><p>matrix</p></td>
|
377
|
+
<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td>
|
378
|
+
<td class="parameter_annotations"> </td>
|
302
379
|
</tr>
|
303
380
|
<tr>
|
304
|
-
<td
|
305
|
-
<td>angle of rotation, in radians. The direction of rotation
|
381
|
+
<td class="parameter_name"><p>radians</p></td>
|
382
|
+
<td class="parameter_description"><p>angle of rotation, in radians. The direction of rotation
|
306
383
|
is defined such that positive angles rotate in the direction from
|
307
384
|
the positive X axis toward the positive Y axis. With the default
|
308
385
|
axis orientation of cairo, positive angles rotate in a clockwise
|
309
|
-
direction.</td>
|
386
|
+
direction.</p></td>
|
387
|
+
<td class="parameter_annotations"> </td>
|
310
388
|
</tr>
|
311
389
|
</tbody>
|
312
390
|
</table></div>
|
391
|
+
</div>
|
313
392
|
<p class="since">Since 1.0</p>
|
314
393
|
</div>
|
315
394
|
<hr>
|
316
395
|
<div class="refsect2">
|
317
|
-
<a name="cairo-matrix-translate"></a><h3>cairo_matrix_translate
|
318
|
-
<pre class="programlisting"><span class="returnvalue">void</span>
|
319
|
-
|
320
|
-
|
321
|
-
<
|
322
|
-
Applies a translation by <em class="parameter"><code>tx</code></em
|
323
|
-
<em class="parameter"><code>
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
<
|
328
|
-
<
|
396
|
+
<a name="cairo-matrix-translate"></a><h3>cairo_matrix_translate ()</h3>
|
397
|
+
<pre class="programlisting"><span class="returnvalue">void</span>
|
398
|
+
cairo_matrix_translate (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>,
|
399
|
+
<em class="parameter"><code><span class="type">double</span> tx</code></em>,
|
400
|
+
<em class="parameter"><code><span class="type">double</span> ty</code></em>);</pre>
|
401
|
+
<p>Applies a translation by <em class="parameter"><code>tx</code></em>
|
402
|
+
, <em class="parameter"><code>ty</code></em>
|
403
|
+
to the transformation in
|
404
|
+
<em class="parameter"><code>matrix</code></em>
|
405
|
+
. The effect of the new transformation is to first translate
|
406
|
+
the coordinates by <em class="parameter"><code>tx</code></em>
|
407
|
+
and <em class="parameter"><code>ty</code></em>
|
408
|
+
, then apply the original transformation
|
409
|
+
to the coordinates.</p>
|
410
|
+
<div class="refsect3">
|
411
|
+
<a name="id-1.6.2.7.7.5"></a><h4>Parameters</h4>
|
412
|
+
<div class="informaltable"><table width="100%" border="0">
|
413
|
+
<colgroup>
|
414
|
+
<col width="150px" class="parameters_name">
|
415
|
+
<col class="parameters_description">
|
416
|
+
<col width="200px" class="parameters_annotations">
|
417
|
+
</colgroup>
|
329
418
|
<tbody>
|
330
419
|
<tr>
|
331
|
-
<td
|
332
|
-
<td>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>
|
333
|
-
</td>
|
420
|
+
<td class="parameter_name"><p>matrix</p></td>
|
421
|
+
<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td>
|
422
|
+
<td class="parameter_annotations"> </td>
|
334
423
|
</tr>
|
335
424
|
<tr>
|
336
|
-
<td
|
337
|
-
<td>amount to translate in the X direction</td>
|
425
|
+
<td class="parameter_name"><p>tx</p></td>
|
426
|
+
<td class="parameter_description"><p>amount to translate in the X direction</p></td>
|
427
|
+
<td class="parameter_annotations"> </td>
|
338
428
|
</tr>
|
339
429
|
<tr>
|
340
|
-
<td
|
341
|
-
<td>amount to translate in the Y direction</td>
|
430
|
+
<td class="parameter_name"><p>ty</p></td>
|
431
|
+
<td class="parameter_description"><p>amount to translate in the Y direction</p></td>
|
432
|
+
<td class="parameter_annotations"> </td>
|
342
433
|
</tr>
|
343
434
|
</tbody>
|
344
435
|
</table></div>
|
436
|
+
</div>
|
345
437
|
<p class="since">Since 1.0</p>
|
346
438
|
</div>
|
347
439
|
<hr>
|
348
440
|
<div class="refsect2">
|
349
|
-
<a name="cairo-matrix-scale"></a><h3>cairo_matrix_scale
|
350
|
-
<pre class="programlisting"><span class="returnvalue">void</span>
|
351
|
-
|
352
|
-
|
353
|
-
<
|
354
|
-
Applies scaling by <em class="parameter"><code>sx</code></em
|
441
|
+
<a name="cairo-matrix-scale"></a><h3>cairo_matrix_scale ()</h3>
|
442
|
+
<pre class="programlisting"><span class="returnvalue">void</span>
|
443
|
+
cairo_matrix_scale (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>,
|
444
|
+
<em class="parameter"><code><span class="type">double</span> sx</code></em>,
|
445
|
+
<em class="parameter"><code><span class="type">double</span> sy</code></em>);</pre>
|
446
|
+
<p>Applies scaling by <em class="parameter"><code>sx</code></em>
|
447
|
+
, <em class="parameter"><code>sy</code></em>
|
448
|
+
to the transformation in <em class="parameter"><code>matrix</code></em>
|
449
|
+
. The
|
355
450
|
effect of the new transformation is to first scale the coordinates
|
356
|
-
by <em class="parameter"><code>sx</code></em>
|
357
|
-
</
|
358
|
-
|
359
|
-
<
|
451
|
+
by <em class="parameter"><code>sx</code></em>
|
452
|
+
and <em class="parameter"><code>sy</code></em>
|
453
|
+
, then apply the original transformation to the coordinates.</p>
|
454
|
+
<div class="refsect3">
|
455
|
+
<a name="id-1.6.2.7.8.5"></a><h4>Parameters</h4>
|
456
|
+
<div class="informaltable"><table width="100%" border="0">
|
457
|
+
<colgroup>
|
458
|
+
<col width="150px" class="parameters_name">
|
459
|
+
<col class="parameters_description">
|
460
|
+
<col width="200px" class="parameters_annotations">
|
461
|
+
</colgroup>
|
360
462
|
<tbody>
|
361
463
|
<tr>
|
362
|
-
<td
|
363
|
-
<td>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>
|
364
|
-
</td>
|
464
|
+
<td class="parameter_name"><p>matrix</p></td>
|
465
|
+
<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td>
|
466
|
+
<td class="parameter_annotations"> </td>
|
365
467
|
</tr>
|
366
468
|
<tr>
|
367
|
-
<td
|
368
|
-
<td>scale factor in the X direction</td>
|
469
|
+
<td class="parameter_name"><p>sx</p></td>
|
470
|
+
<td class="parameter_description"><p>scale factor in the X direction</p></td>
|
471
|
+
<td class="parameter_annotations"> </td>
|
369
472
|
</tr>
|
370
473
|
<tr>
|
371
|
-
<td
|
372
|
-
<td>scale factor in the Y direction</td>
|
474
|
+
<td class="parameter_name"><p>sy</p></td>
|
475
|
+
<td class="parameter_description"><p>scale factor in the Y direction</p></td>
|
476
|
+
<td class="parameter_annotations"> </td>
|
373
477
|
</tr>
|
374
478
|
</tbody>
|
375
479
|
</table></div>
|
480
|
+
</div>
|
376
481
|
<p class="since">Since 1.0</p>
|
377
482
|
</div>
|
378
483
|
<hr>
|
379
484
|
<div class="refsect2">
|
380
|
-
<a name="cairo-matrix-rotate"></a><h3>cairo_matrix_rotate
|
381
|
-
<pre class="programlisting"><span class="returnvalue">void</span>
|
382
|
-
|
383
|
-
<
|
384
|
-
Applies rotation by <em class="parameter"><code>radians</code></em>
|
385
|
-
|
386
|
-
|
387
|
-
to the
|
388
|
-
</
|
389
|
-
|
390
|
-
|
485
|
+
<a name="cairo-matrix-rotate"></a><h3>cairo_matrix_rotate ()</h3>
|
486
|
+
<pre class="programlisting"><span class="returnvalue">void</span>
|
487
|
+
cairo_matrix_rotate (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>,
|
488
|
+
<em class="parameter"><code><span class="type">double</span> radians</code></em>);</pre>
|
489
|
+
<p>Applies rotation by <em class="parameter"><code>radians</code></em>
|
490
|
+
to the transformation in
|
491
|
+
<em class="parameter"><code>matrix</code></em>
|
492
|
+
. The effect of the new transformation is to first rotate the
|
493
|
+
coordinates by <em class="parameter"><code>radians</code></em>
|
494
|
+
, then apply the original transformation
|
495
|
+
to the coordinates.</p>
|
496
|
+
<div class="refsect3">
|
497
|
+
<a name="id-1.6.2.7.9.5"></a><h4>Parameters</h4>
|
498
|
+
<div class="informaltable"><table width="100%" border="0">
|
499
|
+
<colgroup>
|
500
|
+
<col width="150px" class="parameters_name">
|
501
|
+
<col class="parameters_description">
|
502
|
+
<col width="200px" class="parameters_annotations">
|
503
|
+
</colgroup>
|
391
504
|
<tbody>
|
392
505
|
<tr>
|
393
|
-
<td
|
394
|
-
<td>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>
|
395
|
-
</td>
|
506
|
+
<td class="parameter_name"><p>matrix</p></td>
|
507
|
+
<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td>
|
508
|
+
<td class="parameter_annotations"> </td>
|
396
509
|
</tr>
|
397
510
|
<tr>
|
398
|
-
<td
|
399
|
-
<td>angle of rotation, in radians. The direction of rotation
|
511
|
+
<td class="parameter_name"><p>radians</p></td>
|
512
|
+
<td class="parameter_description"><p>angle of rotation, in radians. The direction of rotation
|
400
513
|
is defined such that positive angles rotate in the direction from
|
401
514
|
the positive X axis toward the positive Y axis. With the default
|
402
515
|
axis orientation of cairo, positive angles rotate in a clockwise
|
403
|
-
direction.</td>
|
516
|
+
direction.</p></td>
|
517
|
+
<td class="parameter_annotations"> </td>
|
404
518
|
</tr>
|
405
519
|
</tbody>
|
406
520
|
</table></div>
|
521
|
+
</div>
|
407
522
|
<p class="since">Since 1.0</p>
|
408
523
|
</div>
|
409
524
|
<hr>
|
410
525
|
<div class="refsect2">
|
411
|
-
<a name="cairo-matrix-invert"></a><h3>cairo_matrix_invert
|
412
|
-
<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a>
|
413
|
-
<
|
414
|
-
Changes <em class="parameter"><code>matrix</code></em>
|
526
|
+
<a name="cairo-matrix-invert"></a><h3>cairo_matrix_invert ()</h3>
|
527
|
+
<pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a>
|
528
|
+
cairo_matrix_invert (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>);</pre>
|
529
|
+
<p>Changes <em class="parameter"><code>matrix</code></em>
|
530
|
+
to be the inverse of its original value. Not
|
415
531
|
all transformation matrices have inverses; if the matrix
|
416
532
|
collapses points together (it is <em class="firstterm">degenerate</em>),
|
417
|
-
then it has no inverse and this function will fail
|
418
|
-
|
419
|
-
<
|
420
|
-
<
|
421
|
-
<
|
422
|
-
<
|
423
|
-
<
|
424
|
-
<
|
425
|
-
</
|
426
|
-
|
427
|
-
<
|
428
|
-
<td><p
|
429
|
-
<td
|
430
|
-
|
431
|
-
returns <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-MATRIX:CAPS"><code class="literal">CAIRO_STATUS_INVALID_MATRIX</code></a>.</td>
|
432
|
-
</tr>
|
433
|
-
</tbody>
|
533
|
+
then it has no inverse and this function will fail.</p>
|
534
|
+
<div class="refsect3">
|
535
|
+
<a name="id-1.6.2.7.10.5"></a><h4>Parameters</h4>
|
536
|
+
<div class="informaltable"><table width="100%" border="0">
|
537
|
+
<colgroup>
|
538
|
+
<col width="150px" class="parameters_name">
|
539
|
+
<col class="parameters_description">
|
540
|
+
<col width="200px" class="parameters_annotations">
|
541
|
+
</colgroup>
|
542
|
+
<tbody><tr>
|
543
|
+
<td class="parameter_name"><p>matrix</p></td>
|
544
|
+
<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td>
|
545
|
+
<td class="parameter_annotations"> </td>
|
546
|
+
</tr></tbody>
|
434
547
|
</table></div>
|
548
|
+
</div>
|
549
|
+
<div class="refsect3">
|
550
|
+
<a name="id-1.6.2.7.10.6"></a><h4>Returns</h4>
|
551
|
+
<p> If <em class="parameter"><code>matrix</code></em>
|
552
|
+
has an inverse, modifies <em class="parameter"><code>matrix</code></em>
|
553
|
+
to
|
554
|
+
be the inverse matrix and returns <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a>. Otherwise,
|
555
|
+
returns <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-INVALID-MATRIX:CAPS"><code class="literal">CAIRO_STATUS_INVALID_MATRIX</code></a>.</p>
|
556
|
+
<p></p>
|
557
|
+
</div>
|
435
558
|
<p class="since">Since 1.0</p>
|
436
559
|
</div>
|
437
560
|
<hr>
|
438
561
|
<div class="refsect2">
|
439
|
-
<a name="cairo-matrix-multiply"></a><h3>cairo_matrix_multiply
|
440
|
-
<pre class="programlisting"><span class="returnvalue">void</span>
|
441
|
-
|
442
|
-
|
443
|
-
<
|
444
|
-
Multiplies the affine transformations in <em class="parameter"><code>a</code></em>
|
445
|
-
and
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
</
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
<
|
562
|
+
<a name="cairo-matrix-multiply"></a><h3>cairo_matrix_multiply ()</h3>
|
563
|
+
<pre class="programlisting"><span class="returnvalue">void</span>
|
564
|
+
cairo_matrix_multiply (<em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *result</code></em>,
|
565
|
+
<em class="parameter"><code>const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *a</code></em>,
|
566
|
+
<em class="parameter"><code>const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *b</code></em>);</pre>
|
567
|
+
<p>Multiplies the affine transformations in <em class="parameter"><code>a</code></em>
|
568
|
+
and <em class="parameter"><code>b</code></em>
|
569
|
+
together
|
570
|
+
and stores the result in <em class="parameter"><code>result</code></em>
|
571
|
+
. The effect of the resulting
|
572
|
+
transformation is to first apply the transformation in <em class="parameter"><code>a</code></em>
|
573
|
+
to the
|
574
|
+
coordinates and then apply the transformation in <em class="parameter"><code>b</code></em>
|
575
|
+
to the
|
576
|
+
coordinates.</p>
|
577
|
+
<p>It is allowable for <em class="parameter"><code>result</code></em>
|
578
|
+
to be identical to either <em class="parameter"><code>a</code></em>
|
579
|
+
or <em class="parameter"><code>b</code></em>
|
580
|
+
.</p>
|
581
|
+
<div class="refsect3">
|
582
|
+
<a name="id-1.6.2.7.11.6"></a><h4>Parameters</h4>
|
583
|
+
<div class="informaltable"><table width="100%" border="0">
|
584
|
+
<colgroup>
|
585
|
+
<col width="150px" class="parameters_name">
|
586
|
+
<col class="parameters_description">
|
587
|
+
<col width="200px" class="parameters_annotations">
|
588
|
+
</colgroup>
|
455
589
|
<tbody>
|
456
590
|
<tr>
|
457
|
-
<td
|
458
|
-
<td>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> in which to store the result</td>
|
591
|
+
<td class="parameter_name"><p>result</p></td>
|
592
|
+
<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> in which to store the result</p></td>
|
593
|
+
<td class="parameter_annotations"> </td>
|
459
594
|
</tr>
|
460
595
|
<tr>
|
461
|
-
<td
|
462
|
-
<td>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>
|
463
|
-
</td>
|
596
|
+
<td class="parameter_name"><p>a</p></td>
|
597
|
+
<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td>
|
598
|
+
<td class="parameter_annotations"> </td>
|
464
599
|
</tr>
|
465
600
|
<tr>
|
466
|
-
<td
|
467
|
-
<td>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>
|
468
|
-
</td>
|
601
|
+
<td class="parameter_name"><p>b</p></td>
|
602
|
+
<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td>
|
603
|
+
<td class="parameter_annotations"> </td>
|
469
604
|
</tr>
|
470
605
|
</tbody>
|
471
606
|
</table></div>
|
607
|
+
</div>
|
472
608
|
<p class="since">Since 1.0</p>
|
473
609
|
</div>
|
474
610
|
<hr>
|
475
611
|
<div class="refsect2">
|
476
|
-
<a name="cairo-matrix-transform-distance"></a><h3>cairo_matrix_transform_distance
|
477
|
-
<pre class="programlisting"><span class="returnvalue">void</span>
|
478
|
-
|
479
|
-
|
480
|
-
<
|
481
|
-
Transforms the distance vector (<em class="parameter"><code>dx</code></em
|
482
|
-
|
612
|
+
<a name="cairo-matrix-transform-distance"></a><h3>cairo_matrix_transform_distance ()</h3>
|
613
|
+
<pre class="programlisting"><span class="returnvalue">void</span>
|
614
|
+
cairo_matrix_transform_distance (<em class="parameter"><code>const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>,
|
615
|
+
<em class="parameter"><code><span class="type">double</span> *dx</code></em>,
|
616
|
+
<em class="parameter"><code><span class="type">double</span> *dy</code></em>);</pre>
|
617
|
+
<p>Transforms the distance vector (<em class="parameter"><code>dx</code></em>
|
618
|
+
,<em class="parameter"><code>dy</code></em>
|
619
|
+
) by <em class="parameter"><code>matrix</code></em>
|
620
|
+
. This is
|
621
|
+
similar to <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-transform-point" title="cairo_matrix_transform_point ()"><code class="function">cairo_matrix_transform_point()</code></a> except that the translation
|
483
622
|
components of the transformation are ignored. The calculation of
|
484
|
-
the returned vector is as follows
|
485
|
-
</p>
|
486
|
-
<p>
|
487
|
-
</p>
|
623
|
+
the returned vector is as follows:</p>
|
488
624
|
<pre class="programlisting">
|
489
625
|
dx2 = dx1 * a + dy1 * c;
|
490
626
|
dy2 = dx1 * b + dy1 * d;
|
491
627
|
</pre>
|
492
|
-
<p>
|
493
|
-
</
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
</
|
500
|
-
|
501
|
-
|
628
|
+
<p>Affine transformations are position invariant, so the same vector
|
629
|
+
always transforms to the same vector. If (<em class="parameter"><code>x1</code></em>
|
630
|
+
,<em class="parameter"><code>y1</code></em>
|
631
|
+
) transforms
|
632
|
+
to (<em class="parameter"><code>x2</code></em>
|
633
|
+
,<em class="parameter"><code>y2</code></em>
|
634
|
+
) then (<em class="parameter"><code>x1</code></em>
|
635
|
+
+<em class="parameter"><code>dx1</code></em>
|
636
|
+
,<em class="parameter"><code>y1</code></em>
|
637
|
+
+<em class="parameter"><code>dy1</code></em>
|
638
|
+
) will transform to
|
639
|
+
(<em class="parameter"><code>x1</code></em>
|
640
|
+
+<em class="parameter"><code>dx2</code></em>
|
641
|
+
,<em class="parameter"><code>y1</code></em>
|
642
|
+
+<em class="parameter"><code>dy2</code></em>
|
643
|
+
) for all values of <em class="parameter"><code>x1</code></em>
|
644
|
+
and <em class="parameter"><code>x2</code></em>
|
645
|
+
.</p>
|
646
|
+
<div class="refsect3">
|
647
|
+
<a name="id-1.6.2.7.12.7"></a><h4>Parameters</h4>
|
648
|
+
<div class="informaltable"><table width="100%" border="0">
|
649
|
+
<colgroup>
|
650
|
+
<col width="150px" class="parameters_name">
|
651
|
+
<col class="parameters_description">
|
652
|
+
<col width="200px" class="parameters_annotations">
|
653
|
+
</colgroup>
|
502
654
|
<tbody>
|
503
655
|
<tr>
|
504
|
-
<td
|
505
|
-
<td>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>
|
506
|
-
</td>
|
656
|
+
<td class="parameter_name"><p>matrix</p></td>
|
657
|
+
<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td>
|
658
|
+
<td class="parameter_annotations"> </td>
|
507
659
|
</tr>
|
508
660
|
<tr>
|
509
|
-
<td
|
510
|
-
<td>X component of a distance vector. An in/out parameter</td>
|
661
|
+
<td class="parameter_name"><p>dx</p></td>
|
662
|
+
<td class="parameter_description"><p>X component of a distance vector. An in/out parameter</p></td>
|
663
|
+
<td class="parameter_annotations"> </td>
|
511
664
|
</tr>
|
512
665
|
<tr>
|
513
|
-
<td
|
514
|
-
<td>Y component of a distance vector. An in/out parameter</td>
|
666
|
+
<td class="parameter_name"><p>dy</p></td>
|
667
|
+
<td class="parameter_description"><p>Y component of a distance vector. An in/out parameter</p></td>
|
668
|
+
<td class="parameter_annotations"> </td>
|
515
669
|
</tr>
|
516
670
|
</tbody>
|
517
671
|
</table></div>
|
672
|
+
</div>
|
518
673
|
<p class="since">Since 1.0</p>
|
519
674
|
</div>
|
520
675
|
<hr>
|
521
676
|
<div class="refsect2">
|
522
|
-
<a name="cairo-matrix-transform-point"></a><h3>cairo_matrix_transform_point
|
523
|
-
<pre class="programlisting"><span class="returnvalue">void</span>
|
524
|
-
|
525
|
-
|
526
|
-
<
|
527
|
-
Transforms the point (<em class="parameter"><code>x</code></em
|
528
|
-
</
|
529
|
-
<
|
530
|
-
|
677
|
+
<a name="cairo-matrix-transform-point"></a><h3>cairo_matrix_transform_point ()</h3>
|
678
|
+
<pre class="programlisting"><span class="returnvalue">void</span>
|
679
|
+
cairo_matrix_transform_point (<em class="parameter"><code>const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *matrix</code></em>,
|
680
|
+
<em class="parameter"><code><span class="type">double</span> *x</code></em>,
|
681
|
+
<em class="parameter"><code><span class="type">double</span> *y</code></em>);</pre>
|
682
|
+
<p>Transforms the point (<em class="parameter"><code>x</code></em>
|
683
|
+
, <em class="parameter"><code>y</code></em>
|
684
|
+
) by <em class="parameter"><code>matrix</code></em>
|
685
|
+
.</p>
|
686
|
+
<div class="refsect3">
|
687
|
+
<a name="id-1.6.2.7.13.5"></a><h4>Parameters</h4>
|
688
|
+
<div class="informaltable"><table width="100%" border="0">
|
689
|
+
<colgroup>
|
690
|
+
<col width="150px" class="parameters_name">
|
691
|
+
<col class="parameters_description">
|
692
|
+
<col width="200px" class="parameters_annotations">
|
693
|
+
</colgroup>
|
531
694
|
<tbody>
|
532
695
|
<tr>
|
533
|
-
<td
|
534
|
-
<td>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>
|
535
|
-
</td>
|
696
|
+
<td class="parameter_name"><p>matrix</p></td>
|
697
|
+
<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a></p></td>
|
698
|
+
<td class="parameter_annotations"> </td>
|
699
|
+
</tr>
|
700
|
+
<tr>
|
701
|
+
<td class="parameter_name"><p>x</p></td>
|
702
|
+
<td class="parameter_description"><p>X position. An in/out parameter</p></td>
|
703
|
+
<td class="parameter_annotations"> </td>
|
704
|
+
</tr>
|
705
|
+
<tr>
|
706
|
+
<td class="parameter_name"><p>y</p></td>
|
707
|
+
<td class="parameter_description"><p>Y position. An in/out parameter</p></td>
|
708
|
+
<td class="parameter_annotations"> </td>
|
709
|
+
</tr>
|
710
|
+
</tbody>
|
711
|
+
</table></div>
|
712
|
+
</div>
|
713
|
+
<p class="since">Since 1.0</p>
|
714
|
+
</div>
|
715
|
+
</div>
|
716
|
+
<div class="refsect1">
|
717
|
+
<a name="cairo-cairo-matrix-t.other_details"></a><h2>Types and Values</h2>
|
718
|
+
<div class="refsect2">
|
719
|
+
<a name="cairo-matrix-t"></a><h3>cairo_matrix_t</h3>
|
720
|
+
<pre class="programlisting">typedef struct {
|
721
|
+
double xx; double yx;
|
722
|
+
double xy; double yy;
|
723
|
+
double x0; double y0;
|
724
|
+
} cairo_matrix_t;
|
725
|
+
</pre>
|
726
|
+
<p>A <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> holds an affine transformation, such as a scale,
|
727
|
+
rotation, shear, or a combination of those. The transformation of
|
728
|
+
a point (x, y) is given by:</p>
|
729
|
+
<pre class="programlisting">
|
730
|
+
x_new = xx * x + xy * y + x0;
|
731
|
+
y_new = yx * x + yy * y + y0;
|
732
|
+
</pre>
|
733
|
+
<div class="refsect3">
|
734
|
+
<a name="id-1.6.2.8.2.6"></a><h4>Members</h4>
|
735
|
+
<div class="informaltable"><table width="100%" border="0">
|
736
|
+
<colgroup>
|
737
|
+
<col width="300px" class="struct_members_name">
|
738
|
+
<col class="struct_members_description">
|
739
|
+
<col width="200px" class="struct_members_annotations">
|
740
|
+
</colgroup>
|
741
|
+
<tbody>
|
742
|
+
<tr>
|
743
|
+
<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-matrix-t.xx"></a>xx</code></em>;</p></td>
|
744
|
+
<td class="struct_member_description"><p>xx component of the affine transformation</p></td>
|
745
|
+
<td class="struct_member_annotations"> </td>
|
536
746
|
</tr>
|
537
747
|
<tr>
|
538
|
-
<td><p><span class="
|
539
|
-
<td>
|
748
|
+
<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-matrix-t.yx"></a>yx</code></em>;</p></td>
|
749
|
+
<td class="struct_member_description"><p>yx component of the affine transformation</p></td>
|
750
|
+
<td class="struct_member_annotations"> </td>
|
540
751
|
</tr>
|
541
752
|
<tr>
|
542
|
-
<td><p><span class="
|
543
|
-
<td>
|
753
|
+
<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-matrix-t.xy"></a>xy</code></em>;</p></td>
|
754
|
+
<td class="struct_member_description"><p>xy component of the affine transformation</p></td>
|
755
|
+
<td class="struct_member_annotations"> </td>
|
756
|
+
</tr>
|
757
|
+
<tr>
|
758
|
+
<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-matrix-t.yy"></a>yy</code></em>;</p></td>
|
759
|
+
<td class="struct_member_description"><p>yy component of the affine transformation</p></td>
|
760
|
+
<td class="struct_member_annotations"> </td>
|
761
|
+
</tr>
|
762
|
+
<tr>
|
763
|
+
<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-matrix-t.x0"></a>x0</code></em>;</p></td>
|
764
|
+
<td class="struct_member_description"><p>X translation component of the affine transformation</p></td>
|
765
|
+
<td class="struct_member_annotations"> </td>
|
766
|
+
</tr>
|
767
|
+
<tr>
|
768
|
+
<td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-matrix-t.y0"></a>y0</code></em>;</p></td>
|
769
|
+
<td class="struct_member_description"><p>Y translation component of the affine transformation</p></td>
|
770
|
+
<td class="struct_member_annotations"> </td>
|
544
771
|
</tr>
|
545
772
|
</tbody>
|
546
773
|
</table></div>
|
774
|
+
</div>
|
547
775
|
<p class="since">Since 1.0</p>
|
548
776
|
</div>
|
549
777
|
</div>
|
550
778
|
<div class="refsect1">
|
551
779
|
<a name="cairo-cairo-matrix-t.see-also"></a><h2>See Also</h2>
|
552
|
-
<a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a>
|
780
|
+
<p><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a></p>
|
553
781
|
</div>
|
554
782
|
</div>
|
555
783
|
<div class="footer">
|
556
784
|
<hr>
|
557
|
-
Generated by GTK-Doc V1.
|
785
|
+
Generated by GTK-Doc V1.20</div>
|
558
786
|
</body>
|
559
787
|
</html>
|