cairo 1.8.3-x86-mingw32 → 1.8.4-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of cairo might be problematic. Click here for more details.

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