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.

Files changed (215) hide show
  1. checksums.yaml +4 -4
  2. data/NEWS +21 -0
  3. data/Rakefile +18 -7
  4. data/ext/cairo/cairo.def +1 -0
  5. data/ext/cairo/extconf.rb +23 -10
  6. data/ext/cairo/rb_cairo.c +3 -0
  7. data/ext/cairo/rb_cairo.h +3 -3
  8. data/ext/cairo/rb_cairo_context.c +1 -1
  9. data/ext/cairo/rb_cairo_io.c +4 -0
  10. data/ext/cairo/rb_cairo_io.h +2 -0
  11. data/ext/cairo/rb_cairo_pattern.c +4 -4
  12. data/ext/cairo/rb_cairo_private.h +2 -0
  13. data/ext/cairo/rb_cairo_surface.c +64 -232
  14. data/lib/2.0/cairo.so +0 -0
  15. data/lib/2.1/cairo.so +0 -0
  16. data/lib/2.2/cairo.so +0 -0
  17. data/lib/cairo.rb +20 -19
  18. data/lib/cairo/region.rb +14 -0
  19. data/test/test_region.rb +26 -0
  20. data/vendor/local/bin/fc-cache.exe +0 -0
  21. data/vendor/local/bin/fc-cat.exe +0 -0
  22. data/vendor/local/bin/fc-list.exe +0 -0
  23. data/vendor/local/bin/fc-match.exe +0 -0
  24. data/vendor/local/bin/fc-pattern.exe +0 -0
  25. data/vendor/local/bin/fc-query.exe +0 -0
  26. data/vendor/local/bin/fc-scan.exe +0 -0
  27. data/vendor/local/bin/fc-validate.exe +0 -0
  28. data/vendor/local/bin/freetype-config +2 -2
  29. data/vendor/local/bin/libcairo-2.dll +0 -0
  30. data/vendor/local/bin/libcairo-gobject-2.dll +0 -0
  31. data/vendor/local/bin/libcairo-script-interpreter-2.dll +0 -0
  32. data/vendor/local/bin/libfontconfig-1.dll +0 -0
  33. data/vendor/local/bin/libfreetype-6.dll +0 -0
  34. data/vendor/local/bin/libgcc_s_sjlj-1.dll +0 -0
  35. data/vendor/local/bin/libpixman-1-0.dll +0 -0
  36. data/vendor/local/bin/libpng-config +1 -1
  37. data/vendor/local/bin/libpng16-16.dll +0 -0
  38. data/vendor/local/bin/libpng16-config +1 -1
  39. data/vendor/local/bin/libstdc++-6.dll +0 -0
  40. data/vendor/local/bin/libwinpthread-1.dll +0 -0
  41. data/vendor/local/bin/libxml2-2.dll +0 -0
  42. data/vendor/local/bin/png-fix-itxt.exe +0 -0
  43. data/vendor/local/bin/pngfix.exe +0 -0
  44. data/vendor/local/bin/xmlcatalog.exe +0 -0
  45. data/vendor/local/bin/xmllint.exe +0 -0
  46. data/vendor/local/bin/zlib1.dll +0 -0
  47. data/vendor/local/include/cairo/cairo-version.h +1 -1
  48. data/vendor/local/include/freetype2/config/ftconfig.h +19 -2
  49. data/vendor/local/include/freetype2/config/ftheader.h +7 -5
  50. data/vendor/local/include/freetype2/config/ftoption.h +9 -22
  51. data/vendor/local/include/freetype2/config/ftstdlib.h +2 -3
  52. data/vendor/local/include/freetype2/freetype.h +38 -17
  53. data/vendor/local/include/freetype2/ft2build.h +1 -1
  54. data/vendor/local/include/freetype2/ftadvanc.h +2 -2
  55. data/vendor/local/include/freetype2/ftautoh.h +50 -2
  56. data/vendor/local/include/freetype2/ftbbox.h +1 -1
  57. data/vendor/local/include/freetype2/ftbdf.h +1 -1
  58. data/vendor/local/include/freetype2/ftbitmap.h +11 -3
  59. data/vendor/local/include/freetype2/ftbzip2.h +1 -1
  60. data/vendor/local/include/freetype2/ftcache.h +3 -3
  61. data/vendor/local/include/freetype2/ftcffdrv.h +1 -1
  62. data/vendor/local/include/freetype2/ftcid.h +2 -1
  63. data/vendor/local/include/freetype2/fterrdef.h +1 -1
  64. data/vendor/local/include/freetype2/fterrors.h +1 -1
  65. data/vendor/local/include/freetype2/{ftxf86.h → ftfntfmt.h} +22 -14
  66. data/vendor/local/include/freetype2/ftgasp.h +1 -1
  67. data/vendor/local/include/freetype2/ftglyph.h +1 -1
  68. data/vendor/local/include/freetype2/ftgxval.h +1 -1
  69. data/vendor/local/include/freetype2/ftgzip.h +1 -1
  70. data/vendor/local/include/freetype2/ftimage.h +7 -13
  71. data/vendor/local/include/freetype2/ftincrem.h +1 -1
  72. data/vendor/local/include/freetype2/ftlcdfil.h +2 -2
  73. data/vendor/local/include/freetype2/ftlist.h +1 -1
  74. data/vendor/local/include/freetype2/ftlzw.h +1 -1
  75. data/vendor/local/include/freetype2/ftmac.h +1 -1
  76. data/vendor/local/include/freetype2/ftmm.h +17 -11
  77. data/vendor/local/include/freetype2/ftmodapi.h +4 -2
  78. data/vendor/local/include/freetype2/ftmoderr.h +1 -1
  79. data/vendor/local/include/freetype2/ftotval.h +1 -1
  80. data/vendor/local/include/freetype2/ftoutln.h +1 -1
  81. data/vendor/local/include/freetype2/ftpfr.h +1 -1
  82. data/vendor/local/include/freetype2/ftrender.h +3 -8
  83. data/vendor/local/include/freetype2/ftsizes.h +1 -1
  84. data/vendor/local/include/freetype2/ftsnames.h +1 -1
  85. data/vendor/local/include/freetype2/ftstroke.h +1 -1
  86. data/vendor/local/include/freetype2/ftsynth.h +5 -3
  87. data/vendor/local/include/freetype2/ftsystem.h +10 -1
  88. data/vendor/local/include/freetype2/fttrigon.h +1 -1
  89. data/vendor/local/include/freetype2/ftttdrv.h +85 -22
  90. data/vendor/local/include/freetype2/fttypes.h +1 -1
  91. data/vendor/local/include/freetype2/ftwinfnt.h +3 -3
  92. data/vendor/local/include/freetype2/t1tables.h +4 -3
  93. data/vendor/local/include/freetype2/ttnameid.h +116 -116
  94. data/vendor/local/include/freetype2/tttables.h +2 -2
  95. data/vendor/local/include/freetype2/tttags.h +1 -1
  96. data/vendor/local/include/freetype2/ttunpat.h +1 -1
  97. data/vendor/local/include/libpng16/png.h +63 -80
  98. data/vendor/local/include/libpng16/pngconf.h +8 -30
  99. data/vendor/local/include/libpng16/pnglibconf.h +10 -4
  100. data/vendor/local/include/png.h +63 -80
  101. data/vendor/local/include/pngconf.h +8 -30
  102. data/vendor/local/include/pnglibconf.h +10 -4
  103. data/vendor/local/lib/libcairo-gobject.a +0 -0
  104. data/vendor/local/lib/libcairo-gobject.dll.a +0 -0
  105. data/vendor/local/lib/libcairo-gobject.la +2 -2
  106. data/vendor/local/lib/libcairo-script-interpreter.a +0 -0
  107. data/vendor/local/lib/libcairo-script-interpreter.dll.a +0 -0
  108. data/vendor/local/lib/libcairo-script-interpreter.la +2 -2
  109. data/vendor/local/lib/libcairo.a +0 -0
  110. data/vendor/local/lib/libcairo.dll.a +0 -0
  111. data/vendor/local/lib/libcairo.la +2 -2
  112. data/vendor/local/lib/libfontconfig.dll.a +0 -0
  113. data/vendor/local/lib/libfreetype.a +0 -0
  114. data/vendor/local/lib/libfreetype.dll.a +0 -0
  115. data/vendor/local/lib/libfreetype.la +4 -4
  116. data/vendor/local/lib/libpixman-1.a +0 -0
  117. data/vendor/local/lib/libpixman-1.dll.a +0 -0
  118. data/vendor/local/lib/libpng.a +0 -0
  119. data/vendor/local/lib/libpng.dll.a +0 -0
  120. data/vendor/local/lib/libpng.la +4 -4
  121. data/vendor/local/lib/libpng16.a +0 -0
  122. data/vendor/local/lib/libpng16.dll.a +0 -0
  123. data/vendor/local/lib/libpng16.la +4 -4
  124. data/vendor/local/lib/libxml2.a +0 -0
  125. data/vendor/local/lib/libxml2.dll.a +0 -0
  126. data/vendor/local/lib/libz.a +0 -0
  127. data/vendor/local/lib/libz.dll.a +0 -0
  128. data/vendor/local/lib/pkgconfig/cairo-fc.pc +1 -1
  129. data/vendor/local/lib/pkgconfig/cairo-ft.pc +1 -1
  130. data/vendor/local/lib/pkgconfig/cairo-gobject.pc +1 -1
  131. data/vendor/local/lib/pkgconfig/cairo-pdf.pc +1 -1
  132. data/vendor/local/lib/pkgconfig/cairo-png.pc +1 -1
  133. data/vendor/local/lib/pkgconfig/cairo-ps.pc +1 -1
  134. data/vendor/local/lib/pkgconfig/cairo-script.pc +1 -1
  135. data/vendor/local/lib/pkgconfig/cairo-svg.pc +1 -1
  136. data/vendor/local/lib/pkgconfig/cairo-win32-font.pc +1 -1
  137. data/vendor/local/lib/pkgconfig/cairo-win32.pc +1 -1
  138. data/vendor/local/lib/pkgconfig/cairo.pc +1 -1
  139. data/vendor/local/lib/pkgconfig/freetype2.pc +1 -1
  140. data/vendor/local/lib/pkgconfig/libpng.pc +1 -1
  141. data/vendor/local/lib/pkgconfig/libpng16.pc +1 -1
  142. data/vendor/local/share/aclocal/freetype2.m4 +1 -1
  143. data/vendor/local/share/gtk-doc/html/cairo/bindings-errors.html +12 -12
  144. data/vendor/local/share/gtk-doc/html/cairo/bindings-fonts.html +12 -12
  145. data/vendor/local/share/gtk-doc/html/cairo/bindings-memory.html +12 -12
  146. data/vendor/local/share/gtk-doc/html/cairo/bindings-overloading.html +13 -13
  147. data/vendor/local/share/gtk-doc/html/cairo/bindings-path.html +12 -12
  148. data/vendor/local/share/gtk-doc/html/cairo/bindings-patterns.html +35 -35
  149. data/vendor/local/share/gtk-doc/html/cairo/bindings-return-values.html +10 -10
  150. data/vendor/local/share/gtk-doc/html/cairo/bindings-streams.html +11 -11
  151. data/vendor/local/share/gtk-doc/html/cairo/bindings-surfaces.html +13 -13
  152. data/vendor/local/share/gtk-doc/html/cairo/cairo-Error-handling.html +294 -225
  153. data/vendor/local/share/gtk-doc/html/cairo/cairo-FreeType-Fonts.html +387 -269
  154. data/vendor/local/share/gtk-doc/html/cairo/cairo-Image-Surfaces.html +432 -302
  155. data/vendor/local/share/gtk-doc/html/cairo/cairo-PDF-Surfaces.html +325 -217
  156. data/vendor/local/share/gtk-doc/html/cairo/cairo-PNG-Support.html +298 -193
  157. data/vendor/local/share/gtk-doc/html/cairo/cairo-Paths.html +1121 -812
  158. data/vendor/local/share/gtk-doc/html/cairo/cairo-PostScript-Surfaces.html +513 -383
  159. data/vendor/local/share/gtk-doc/html/cairo/cairo-Quartz-(CGFont)-Fonts.html +126 -83
  160. data/vendor/local/share/gtk-doc/html/cairo/cairo-Quartz-Surfaces.html +172 -119
  161. data/vendor/local/share/gtk-doc/html/cairo/cairo-Raster-Sources.html +581 -372
  162. data/vendor/local/share/gtk-doc/html/cairo/cairo-Recording-Surfaces.html +179 -130
  163. data/vendor/local/share/gtk-doc/html/cairo/cairo-Regions.html +888 -539
  164. data/vendor/local/share/gtk-doc/html/cairo/cairo-SVG-Surfaces.html +287 -192
  165. data/vendor/local/share/gtk-doc/html/cairo/cairo-Script-Surfaces.html +374 -231
  166. data/vendor/local/share/gtk-doc/html/cairo/cairo-Transformations.html +395 -219
  167. data/vendor/local/share/gtk-doc/html/cairo/cairo-Types.html +125 -75
  168. data/vendor/local/share/gtk-doc/html/cairo/cairo-User-Fonts.html +630 -464
  169. data/vendor/local/share/gtk-doc/html/cairo/cairo-Version-Information.html +225 -200
  170. data/vendor/local/share/gtk-doc/html/cairo/cairo-Win32-Fonts.html +336 -214
  171. data/vendor/local/share/gtk-doc/html/cairo/cairo-Win32-Surfaces.html +277 -186
  172. data/vendor/local/share/gtk-doc/html/cairo/cairo-XCB-Surfaces.html +495 -350
  173. data/vendor/local/share/gtk-doc/html/cairo/cairo-XLib-Surfaces.html +557 -362
  174. data/vendor/local/share/gtk-doc/html/cairo/cairo-XLib-XRender-Backend.html +158 -111
  175. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-device-t.html +655 -441
  176. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-font-face-t.html +389 -280
  177. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-font-options-t.html +667 -451
  178. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-matrix-t.html +579 -351
  179. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-pattern-t.html +2006 -1545
  180. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-scaled-font-t.html +892 -618
  181. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html +1624 -1188
  182. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-t.html +2903 -2104
  183. data/vendor/local/share/gtk-doc/html/cairo/cairo-drawing.html +13 -13
  184. data/vendor/local/share/gtk-doc/html/cairo/cairo-fonts.html +13 -13
  185. data/vendor/local/share/gtk-doc/html/cairo/cairo-support.html +13 -13
  186. data/vendor/local/share/gtk-doc/html/cairo/cairo-surfaces.html +13 -13
  187. data/vendor/local/share/gtk-doc/html/cairo/cairo-text.html +1115 -758
  188. data/vendor/local/share/gtk-doc/html/cairo/cairo.devhelp2 +419 -604
  189. data/vendor/local/share/gtk-doc/html/cairo/home.png +0 -0
  190. data/vendor/local/share/gtk-doc/html/cairo/index-1.10.html +56 -56
  191. data/vendor/local/share/gtk-doc/html/cairo/index-1.12.html +70 -70
  192. data/vendor/local/share/gtk-doc/html/cairo/index-1.2.html +58 -58
  193. data/vendor/local/share/gtk-doc/html/cairo/index-1.4.html +39 -39
  194. data/vendor/local/share/gtk-doc/html/cairo/index-1.6.html +30 -30
  195. data/vendor/local/share/gtk-doc/html/cairo/index-1.8.html +38 -38
  196. data/vendor/local/share/gtk-doc/html/cairo/index-all.html +426 -426
  197. data/vendor/local/share/gtk-doc/html/cairo/index.html +6 -6
  198. data/vendor/local/share/gtk-doc/html/cairo/index.sgml +234 -325
  199. data/vendor/local/share/gtk-doc/html/cairo/language-bindings.html +12 -12
  200. data/vendor/local/share/gtk-doc/html/cairo/left-insensitive.png +0 -0
  201. data/vendor/local/share/gtk-doc/html/cairo/left.png +0 -0
  202. data/vendor/local/share/gtk-doc/html/cairo/right-insensitive.png +0 -0
  203. data/vendor/local/share/gtk-doc/html/cairo/right.png +0 -0
  204. data/vendor/local/share/gtk-doc/html/cairo/style.css +221 -26
  205. data/vendor/local/share/gtk-doc/html/cairo/up-insensitive.png +0 -0
  206. data/vendor/local/share/gtk-doc/html/cairo/up.png +0 -0
  207. data/vendor/local/share/license/cairo/README +1 -1
  208. data/vendor/local/share/license/freetype/README +6 -6
  209. data/vendor/local/share/license/freetype/README.git +1 -1
  210. data/vendor/local/share/license/libpng/README +2 -2
  211. data/vendor/local/share/man/man1/freetype-config.1 +1 -1
  212. data/vendor/local/share/man/man3/libpng.3 +85 -92
  213. data/vendor/local/share/man/man3/libpngpf.3 +2 -2
  214. data/vendor/local/share/man/man5/png.5 +1 -1
  215. 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.76.1">
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.18 (XML mode)">
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="2">
16
- <tr valign="middle">
17
- <td><a accesskey="p" href="cairo-support.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18
- <td><a accesskey="u" href="cairo-support.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19
- <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20
- <th width="100%" align="center">Cairo: A Vector Graphics Library</th>
21
- <td><a accesskey="n" href="cairo-Error-handling.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22
- </tr>
23
- <tr><td colspan="5" class="shortcuts">
24
- <a href="#cairo-cairo-matrix-t.synopsis" class="shortcut">Top</a>
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.details"></a><h2>Details</h2>
103
- <div class="refsect2">
104
- <a name="cairo-matrix-t"></a><h3>cairo_matrix_t</h3>
105
- <pre class="programlisting">typedef struct {
106
- double xx; double yx;
107
- double xy; double yy;
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><p><span class="term"><span class="type">double</span> <em class="structfield"><code><a name="cairo-matrix-t.xx"></a>xx</code></em>;</span></p></td>
127
- <td>xx component of the affine transformation</td>
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><p><span class="term"><span class="type">double</span> <em class="structfield"><code><a name="cairo-matrix-t.yx"></a>yx</code></em>;</span></p></td>
131
- <td>yx component of the affine transformation</td>
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><p><span class="term"><span class="type">double</span> <em class="structfield"><code><a name="cairo-matrix-t.xy"></a>xy</code></em>;</span></p></td>
135
- <td>xy component of the affine transformation</td>
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><p><span class="term"><span class="type">double</span> <em class="structfield"><code><a name="cairo-matrix-t.yy"></a>yy</code></em>;</span></p></td>
139
- <td>yy component of the affine transformation</td>
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><p><span class="term"><span class="type">double</span> <em class="structfield"><code><a name="cairo-matrix-t.x0"></a>x0</code></em>;</span></p></td>
143
- <td>X translation component of the affine transformation</td>
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><p><span class="term"><span class="type">double</span> <em class="structfield"><code><a name="cairo-matrix-t.y0"></a>y0</code></em>;</span></p></td>
147
- <td>Y translation component of the affine transformation</td>
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
- <hr>
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 ()</h3>
156
- <pre class="programlisting"><span class="returnvalue">void</span> 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>,
157
- <em class="parameter"><code><span class="type">double</span> xx</code></em>,
158
- <em class="parameter"><code><span class="type">double</span> yx</code></em>,
159
- <em class="parameter"><code><span class="type">double</span> xy</code></em>,
160
- <em class="parameter"><code><span class="type">double</span> yy</code></em>,
161
- <em class="parameter"><code><span class="type">double</span> x0</code></em>,
162
- <em class="parameter"><code><span class="type">double</span> y0</code></em>);</pre>
163
- <p>
164
- Sets <em class="parameter"><code>matrix</code></em> to be the affine transformation given by
165
- <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
166
- by:
167
- </p>
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
- <p>
173
- </p>
174
- <div class="variablelist"><table border="0">
175
- <col align="left" valign="top">
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><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></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><p><span class="term"><em class="parameter"><code>xx</code></em> :</span></p></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><p><span class="term"><em class="parameter"><code>yx</code></em> :</span></p></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><p><span class="term"><em class="parameter"><code>xy</code></em> :</span></p></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><p><span class="term"><em class="parameter"><code>yy</code></em> :</span></p></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><p><span class="term"><em class="parameter"><code>x0</code></em> :</span></p></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><p><span class="term"><em class="parameter"><code>y0</code></em> :</span></p></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 ()</h3>
213
- <pre class="programlisting"><span class="returnvalue">void</span> 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>
214
- <p>
215
- Modifies <em class="parameter"><code>matrix</code></em> to be an identity transformation.
216
- </p>
217
- <div class="variablelist"><table border="0">
218
- <col align="left" valign="top">
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><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></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 ()</h3>
230
- <pre class="programlisting"><span class="returnvalue">void</span> 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>,
231
- <em class="parameter"><code><span class="type">double</span> tx</code></em>,
232
- <em class="parameter"><code><span class="type">double</span> ty</code></em>);</pre>
233
- <p>
234
- Initializes <em class="parameter"><code>matrix</code></em> to a transformation that translates by <em class="parameter"><code>tx</code></em> and
235
- <em class="parameter"><code>ty</code></em> in the X and Y dimensions, respectively.
236
- </p>
237
- <div class="variablelist"><table border="0">
238
- <col align="left" valign="top">
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><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></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><p><span class="term"><em class="parameter"><code>tx</code></em> :</span></p></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><p><span class="term"><em class="parameter"><code>ty</code></em> :</span></p></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 ()</h3>
260
- <pre class="programlisting"><span class="returnvalue">void</span> 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>,
261
- <em class="parameter"><code><span class="type">double</span> sx</code></em>,
262
- <em class="parameter"><code><span class="type">double</span> sy</code></em>);</pre>
263
- <p>
264
- 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>
265
- in the X and Y dimensions, respectively.
266
- </p>
267
- <div class="variablelist"><table border="0">
268
- <col align="left" valign="top">
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><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></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><p><span class="term"><em class="parameter"><code>sx</code></em> :</span></p></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><p><span class="term"><em class="parameter"><code>sy</code></em> :</span></p></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 ()</h3>
290
- <pre class="programlisting"><span class="returnvalue">void</span> 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>,
291
- <em class="parameter"><code><span class="type">double</span> radians</code></em>);</pre>
292
- <p>
293
- Initialized <em class="parameter"><code>matrix</code></em> to a transformation that rotates by <em class="parameter"><code>radians</code></em>.
294
- </p>
295
- <div class="variablelist"><table border="0">
296
- <col align="left" valign="top">
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><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></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><p><span class="term"><em class="parameter"><code>radians</code></em> :</span></p></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 ()</h3>
318
- <pre class="programlisting"><span class="returnvalue">void</span> 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>,
319
- <em class="parameter"><code><span class="type">double</span> tx</code></em>,
320
- <em class="parameter"><code><span class="type">double</span> ty</code></em>);</pre>
321
- <p>
322
- Applies a translation by <em class="parameter"><code>tx</code></em>, <em class="parameter"><code>ty</code></em> to the transformation in
323
- <em class="parameter"><code>matrix</code></em>. The effect of the new transformation is to first translate
324
- the coordinates by <em class="parameter"><code>tx</code></em> and <em class="parameter"><code>ty</code></em>, then apply the original transformation
325
- to the coordinates.
326
- </p>
327
- <div class="variablelist"><table border="0">
328
- <col align="left" valign="top">
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><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></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><p><span class="term"><em class="parameter"><code>tx</code></em> :</span></p></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><p><span class="term"><em class="parameter"><code>ty</code></em> :</span></p></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 ()</h3>
350
- <pre class="programlisting"><span class="returnvalue">void</span> 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>,
351
- <em class="parameter"><code><span class="type">double</span> sx</code></em>,
352
- <em class="parameter"><code><span class="type">double</span> sy</code></em>);</pre>
353
- <p>
354
- 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
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> and <em class="parameter"><code>sy</code></em>, then apply the original transformation to the coordinates.
357
- </p>
358
- <div class="variablelist"><table border="0">
359
- <col align="left" valign="top">
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><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></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><p><span class="term"><em class="parameter"><code>sx</code></em> :</span></p></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><p><span class="term"><em class="parameter"><code>sy</code></em> :</span></p></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 ()</h3>
381
- <pre class="programlisting"><span class="returnvalue">void</span> 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>,
382
- <em class="parameter"><code><span class="type">double</span> radians</code></em>);</pre>
383
- <p>
384
- Applies rotation by <em class="parameter"><code>radians</code></em> to the transformation in
385
- <em class="parameter"><code>matrix</code></em>. The effect of the new transformation is to first rotate the
386
- coordinates by <em class="parameter"><code>radians</code></em>, then apply the original transformation
387
- to the coordinates.
388
- </p>
389
- <div class="variablelist"><table border="0">
390
- <col align="left" valign="top">
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><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></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><p><span class="term"><em class="parameter"><code>radians</code></em> :</span></p></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 ()</h3>
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> 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>
413
- <p>
414
- Changes <em class="parameter"><code>matrix</code></em> to be the inverse of its original value. Not
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
- </p>
419
- <div class="variablelist"><table border="0">
420
- <col align="left" valign="top">
421
- <tbody>
422
- <tr>
423
- <td><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></td>
424
- <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>
425
- </td>
426
- </tr>
427
- <tr>
428
- <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
429
- <td>If <em class="parameter"><code>matrix</code></em> has an inverse, modifies <em class="parameter"><code>matrix</code></em> to
430
- 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,
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 ()</h3>
440
- <pre class="programlisting"><span class="returnvalue">void</span> 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>,
441
- <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>,
442
- <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>
443
- <p>
444
- Multiplies the affine transformations in <em class="parameter"><code>a</code></em> and <em class="parameter"><code>b</code></em> together
445
- and stores the result in <em class="parameter"><code>result</code></em>. The effect of the resulting
446
- transformation is to first apply the transformation in <em class="parameter"><code>a</code></em> to the
447
- coordinates and then apply the transformation in <em class="parameter"><code>b</code></em> to the
448
- coordinates.
449
- </p>
450
- <p>
451
- 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>.
452
- </p>
453
- <div class="variablelist"><table border="0">
454
- <col align="left" valign="top">
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><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></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><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></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><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></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 ()</h3>
477
- <pre class="programlisting"><span class="returnvalue">void</span> 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>,
478
- <em class="parameter"><code><span class="type">double</span> *dx</code></em>,
479
- <em class="parameter"><code><span class="type">double</span> *dy</code></em>);</pre>
480
- <p>
481
- 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
482
- 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
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
- </p>
494
- <p>
495
- Affine transformations are position invariant, so the same vector
496
- always transforms to the same vector. If (<em class="parameter"><code>x1</code></em>,<em class="parameter"><code>y1</code></em>) transforms
497
- 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
498
- (<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>.
499
- </p>
500
- <div class="variablelist"><table border="0">
501
- <col align="left" valign="top">
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><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></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><p><span class="term"><em class="parameter"><code>dx</code></em> :</span></p></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><p><span class="term"><em class="parameter"><code>dy</code></em> :</span></p></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 ()</h3>
523
- <pre class="programlisting"><span class="returnvalue">void</span> 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>,
524
- <em class="parameter"><code><span class="type">double</span> *x</code></em>,
525
- <em class="parameter"><code><span class="type">double</span> *y</code></em>);</pre>
526
- <p>
527
- 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>.
528
- </p>
529
- <div class="variablelist"><table border="0">
530
- <col align="left" valign="top">
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><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></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="term"><em class="parameter"><code>x</code></em> :</span></p></td>
539
- <td>X position. An in/out parameter</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="term"><em class="parameter"><code>y</code></em> :</span></p></td>
543
- <td>Y position. An in/out parameter</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.18</div>
785
+ Generated by GTK-Doc V1.20</div>
558
786
  </body>
559
787
  </html>