cairo 1.6.1-x86-mswin32

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 (418) hide show
  1. data/AUTHORS +4 -0
  2. data/COPYING +59 -0
  3. data/ChangeLog +1320 -0
  4. data/GPL +340 -0
  5. data/NEWS +98 -0
  6. data/README +70 -0
  7. data/Rakefile +215 -0
  8. data/cairo/bin/libcairo-2.dll +0 -0
  9. data/cairo/bin/libpng13.dll +0 -0
  10. data/cairo/bin/zlib1.dll +0 -0
  11. data/cairo/include/cairo/cairo-deprecated.h +142 -0
  12. data/cairo/include/cairo/cairo-features.h +35 -0
  13. data/cairo/include/cairo/cairo-pdf.h +68 -0
  14. data/cairo/include/cairo/cairo-ps.h +114 -0
  15. data/cairo/include/cairo/cairo-svg.h +82 -0
  16. data/cairo/include/cairo/cairo-win32.h +104 -0
  17. data/cairo/include/cairo/cairo.h +1945 -0
  18. data/cairo/include/libpng13/png.h +3419 -0
  19. data/cairo/include/libpng13/pngconf.h +1437 -0
  20. data/cairo/lib/cairo.def +251 -0
  21. data/cairo/lib/cairo.lib +0 -0
  22. data/cairo/lib/libcairo.dll.a +0 -0
  23. data/cairo/lib/libpng.def +372 -0
  24. data/cairo/lib/libpng13.dll.a +0 -0
  25. data/cairo/lib/pkgconfig/cairo-pdf.pc +12 -0
  26. data/cairo/lib/pkgconfig/cairo-png.pc +12 -0
  27. data/cairo/lib/pkgconfig/cairo-ps.pc +12 -0
  28. data/cairo/lib/pkgconfig/cairo-svg.pc +12 -0
  29. data/cairo/lib/pkgconfig/cairo-win32-font.pc +12 -0
  30. data/cairo/lib/pkgconfig/cairo-win32.pc +12 -0
  31. data/cairo/lib/pkgconfig/cairo.pc +13 -0
  32. data/cairo/lib/pkgconfig/libpng.pc +14 -0
  33. data/cairo/lib/pkgconfig/libpng13.pc +14 -0
  34. data/cairo/make/cairo-1.6.4-1.sh +55 -0
  35. data/cairo/manifest/cairo-1.6.4-1.mft +6 -0
  36. data/cairo/manifest/cairo-dev-1.6.4-1.mft +72 -0
  37. data/cairo/manifest/libpng-dev-1.2.8.mft +7 -0
  38. data/cairo/share/doc/cairo-1.6.4-1/COPYING +32 -0
  39. data/cairo/share/doc/cairo-1.6.4-1/COPYING-LGPL-2.1 +510 -0
  40. data/cairo/share/doc/cairo-1.6.4-1/COPYING-MPL-1.1 +470 -0
  41. data/cairo/share/gtk-doc/html/cairo/Drawing.html +53 -0
  42. data/cairo/share/gtk-doc/html/cairo/Fonts.html +56 -0
  43. data/cairo/share/gtk-doc/html/cairo/Support.html +50 -0
  44. data/cairo/share/gtk-doc/html/cairo/Surfaces.html +65 -0
  45. data/cairo/share/gtk-doc/html/cairo/bindings-errors.html +128 -0
  46. data/cairo/share/gtk-doc/html/cairo/bindings-fonts.html +59 -0
  47. data/cairo/share/gtk-doc/html/cairo/bindings-memory.html +129 -0
  48. data/cairo/share/gtk-doc/html/cairo/bindings-overloading.html +127 -0
  49. data/cairo/share/gtk-doc/html/cairo/bindings-path.html +123 -0
  50. data/cairo/share/gtk-doc/html/cairo/bindings-patterns.html +63 -0
  51. data/cairo/share/gtk-doc/html/cairo/bindings-return-values.html +126 -0
  52. data/cairo/share/gtk-doc/html/cairo/bindings-streams.html +98 -0
  53. data/cairo/share/gtk-doc/html/cairo/bindings-surfaces.html +99 -0
  54. data/cairo/share/gtk-doc/html/cairo/cairo-Error-Handling.html +328 -0
  55. data/cairo/share/gtk-doc/html/cairo/cairo-Font-Options.html +720 -0
  56. data/cairo/share/gtk-doc/html/cairo/cairo-FreeType-Fonts.html +297 -0
  57. data/cairo/share/gtk-doc/html/cairo/cairo-Image-Surfaces.html +484 -0
  58. data/cairo/share/gtk-doc/html/cairo/cairo-PDF-Surfaces.html +246 -0
  59. data/cairo/share/gtk-doc/html/cairo/cairo-PNG-Support.html +345 -0
  60. data/cairo/share/gtk-doc/html/cairo/cairo-Paths.html +1336 -0
  61. data/cairo/share/gtk-doc/html/cairo/cairo-Patterns.html +1560 -0
  62. data/cairo/share/gtk-doc/html/cairo/cairo-PostScript-Surfaces.html +656 -0
  63. data/cairo/share/gtk-doc/html/cairo/cairo-Quartz-Fonts.html +161 -0
  64. data/cairo/share/gtk-doc/html/cairo/cairo-Quartz-Surfaces.html +232 -0
  65. data/cairo/share/gtk-doc/html/cairo/cairo-SVG-Surfaces.html +337 -0
  66. data/cairo/share/gtk-doc/html/cairo/cairo-Scaled-Fonts.html +823 -0
  67. data/cairo/share/gtk-doc/html/cairo/cairo-Text.html +836 -0
  68. data/cairo/share/gtk-doc/html/cairo/cairo-Transformations.html +462 -0
  69. data/cairo/share/gtk-doc/html/cairo/cairo-Types.html +143 -0
  70. data/cairo/share/gtk-doc/html/cairo/cairo-Version-Information.html +325 -0
  71. data/cairo/share/gtk-doc/html/cairo/cairo-Win32-Fonts.html +381 -0
  72. data/cairo/share/gtk-doc/html/cairo/cairo-Win32-Surfaces.html +331 -0
  73. data/cairo/share/gtk-doc/html/cairo/cairo-XLib-Surfaces.html +525 -0
  74. data/cairo/share/gtk-doc/html/cairo/cairo-cairo-font-face-t.html +427 -0
  75. data/cairo/share/gtk-doc/html/cairo/cairo-cairo-matrix-t.html +626 -0
  76. data/cairo/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html +995 -0
  77. data/cairo/share/gtk-doc/html/cairo/cairo-cairo-t.html +2795 -0
  78. data/cairo/share/gtk-doc/html/cairo/cairo.devhelp +432 -0
  79. data/cairo/share/gtk-doc/html/cairo/cairo.devhelp2 +432 -0
  80. data/cairo/share/gtk-doc/html/cairo/home.png +0 -0
  81. data/cairo/share/gtk-doc/html/cairo/index-1.2.html +137 -0
  82. data/cairo/share/gtk-doc/html/cairo/index-1.4.html +105 -0
  83. data/cairo/share/gtk-doc/html/cairo/index-1.6.html +65 -0
  84. data/cairo/share/gtk-doc/html/cairo/index.html +134 -0
  85. data/cairo/share/gtk-doc/html/cairo/index.sgml +466 -0
  86. data/cairo/share/gtk-doc/html/cairo/ix01.html +693 -0
  87. data/cairo/share/gtk-doc/html/cairo/language-bindings.html +79 -0
  88. data/cairo/share/gtk-doc/html/cairo/left.png +0 -0
  89. data/cairo/share/gtk-doc/html/cairo/right.png +0 -0
  90. data/cairo/share/gtk-doc/html/cairo/style.css +148 -0
  91. data/cairo/share/gtk-doc/html/cairo/up.png +0 -0
  92. data/doc/doc.css +91 -0
  93. data/doc/en/cairo-antialias.html +41 -0
  94. data/doc/en/cairo-antialias.rd +16 -0
  95. data/doc/en/cairo-clip-not-representable-error.html +50 -0
  96. data/doc/en/cairo-clip-not-representable-error.rd +17 -0
  97. data/doc/en/cairo-color-base.html +72 -0
  98. data/doc/en/cairo-color-base.rd +38 -0
  99. data/doc/en/cairo-color-cmyk.html +160 -0
  100. data/doc/en/cairo-color-cmyk.rd +107 -0
  101. data/doc/en/cairo-color-hsv.html +140 -0
  102. data/doc/en/cairo-color-hsv.rd +91 -0
  103. data/doc/en/cairo-color-rgb.html +145 -0
  104. data/doc/en/cairo-color-rgb.rd +95 -0
  105. data/doc/en/cairo-color-x11.html +176 -0
  106. data/doc/en/cairo-color-x11.rd +151 -0
  107. data/doc/en/cairo-color.html +241 -0
  108. data/doc/en/cairo-color.rd +213 -0
  109. data/doc/en/cairo-content.html +40 -0
  110. data/doc/en/cairo-content.rd +15 -0
  111. data/doc/en/cairo-context-blur.html +42 -0
  112. data/doc/en/cairo-context-blur.rd +15 -0
  113. data/doc/en/cairo-context-circle.html +42 -0
  114. data/doc/en/cairo-context-circle.rd +15 -0
  115. data/doc/en/cairo-context-color.html +42 -0
  116. data/doc/en/cairo-context-color.rd +15 -0
  117. data/doc/en/cairo-context-path.html +47 -0
  118. data/doc/en/cairo-context-path.rd +19 -0
  119. data/doc/en/cairo-context-rectangle.html +42 -0
  120. data/doc/en/cairo-context-rectangle.rd +15 -0
  121. data/doc/en/cairo-context-triangle.html +42 -0
  122. data/doc/en/cairo-context-triangle.rd +15 -0
  123. data/doc/en/cairo-context.html +636 -0
  124. data/doc/en/cairo-context.rd +491 -0
  125. data/doc/en/cairo-error.html +47 -0
  126. data/doc/en/cairo-error.rd +16 -0
  127. data/doc/en/cairo-extend.html +41 -0
  128. data/doc/en/cairo-extend.rd +16 -0
  129. data/doc/en/cairo-file-not-found.html +50 -0
  130. data/doc/en/cairo-file-not-found.rd +17 -0
  131. data/doc/en/cairo-fill-rule.html +39 -0
  132. data/doc/en/cairo-fill-rule.rd +14 -0
  133. data/doc/en/cairo-filter.html +43 -0
  134. data/doc/en/cairo-filter.rd +18 -0
  135. data/doc/en/cairo-font-extents.html +74 -0
  136. data/doc/en/cairo-font-extents.rd +40 -0
  137. data/doc/en/cairo-font-face.html +41 -0
  138. data/doc/en/cairo-font-face.rd +14 -0
  139. data/doc/en/cairo-font-options.html +142 -0
  140. data/doc/en/cairo-font-options.rd +94 -0
  141. data/doc/en/cairo-font-slant.html +40 -0
  142. data/doc/en/cairo-font-slant.rd +15 -0
  143. data/doc/en/cairo-font-weight.html +39 -0
  144. data/doc/en/cairo-font-weight.rd +14 -0
  145. data/doc/en/cairo-format.html +49 -0
  146. data/doc/en/cairo-format.rd +22 -0
  147. data/doc/en/cairo-glyph.html +102 -0
  148. data/doc/en/cairo-glyph.rd +62 -0
  149. data/doc/en/cairo-gradient-pattern.html +77 -0
  150. data/doc/en/cairo-gradient-pattern.rd +41 -0
  151. data/doc/en/cairo-hint-metrics.html +40 -0
  152. data/doc/en/cairo-hint-metrics.rd +15 -0
  153. data/doc/en/cairo-hint-style.html +42 -0
  154. data/doc/en/cairo-hint-style.rd +17 -0
  155. data/doc/en/cairo-image-surface.html +85 -0
  156. data/doc/en/cairo-image-surface.rd +47 -0
  157. data/doc/en/cairo-invalid-content-error.html +50 -0
  158. data/doc/en/cairo-invalid-content-error.rd +17 -0
  159. data/doc/en/cairo-invalid-dash-error.html +50 -0
  160. data/doc/en/cairo-invalid-dash-error.rd +17 -0
  161. data/doc/en/cairo-invalid-dsc-comment-error.html +50 -0
  162. data/doc/en/cairo-invalid-dsc-comment-error.rd +17 -0
  163. data/doc/en/cairo-invalid-format-error.html +50 -0
  164. data/doc/en/cairo-invalid-format-error.rd +17 -0
  165. data/doc/en/cairo-invalid-index-error.html +50 -0
  166. data/doc/en/cairo-invalid-index-error.rd +17 -0
  167. data/doc/en/cairo-invalid-matrix-error.html +50 -0
  168. data/doc/en/cairo-invalid-matrix-error.rd +17 -0
  169. data/doc/en/cairo-invalid-path-data-error.html +50 -0
  170. data/doc/en/cairo-invalid-path-data-error.rd +17 -0
  171. data/doc/en/cairo-invalid-pop-group-error.html +50 -0
  172. data/doc/en/cairo-invalid-pop-group-error.rd +17 -0
  173. data/doc/en/cairo-invalid-restore-error.html +50 -0
  174. data/doc/en/cairo-invalid-restore-error.rd +17 -0
  175. data/doc/en/cairo-invalid-status-error.html +50 -0
  176. data/doc/en/cairo-invalid-status-error.rd +17 -0
  177. data/doc/en/cairo-invalid-stride-error.html +50 -0
  178. data/doc/en/cairo-invalid-stride-error.rd +17 -0
  179. data/doc/en/cairo-invalid-string-error.html +50 -0
  180. data/doc/en/cairo-invalid-string-error.rd +17 -0
  181. data/doc/en/cairo-invalid-visual-error.html +50 -0
  182. data/doc/en/cairo-invalid-visual-error.rd +17 -0
  183. data/doc/en/cairo-line-cap.html +40 -0
  184. data/doc/en/cairo-line-cap.rd +15 -0
  185. data/doc/en/cairo-line-join.html +40 -0
  186. data/doc/en/cairo-line-join.rd +15 -0
  187. data/doc/en/cairo-linear-pattern.html +63 -0
  188. data/doc/en/cairo-linear-pattern.rd +28 -0
  189. data/doc/en/cairo-matrix.html +257 -0
  190. data/doc/en/cairo-matrix.rd +186 -0
  191. data/doc/en/cairo-no-current-point-error.html +50 -0
  192. data/doc/en/cairo-no-current-point-error.rd +17 -0
  193. data/doc/en/cairo-null-pointer-error.html +50 -0
  194. data/doc/en/cairo-null-pointer-error.rd +17 -0
  195. data/doc/en/cairo-operator.html +51 -0
  196. data/doc/en/cairo-operator.rd +26 -0
  197. data/doc/en/cairo-paper-parse-error.html +50 -0
  198. data/doc/en/cairo-paper-parse-error.rd +17 -0
  199. data/doc/en/cairo-paper-unknown-paper-name.html +69 -0
  200. data/doc/en/cairo-paper-unknown-paper-name.rd +30 -0
  201. data/doc/en/cairo-paper-unknown-unit.html +69 -0
  202. data/doc/en/cairo-paper-unknown-unit.rd +30 -0
  203. data/doc/en/cairo-paper-unrecognized-paper-description.html +69 -0
  204. data/doc/en/cairo-paper-unrecognized-paper-description.rd +30 -0
  205. data/doc/en/cairo-paper.html +187 -0
  206. data/doc/en/cairo-paper.rd +141 -0
  207. data/doc/en/cairo-path-close-path.html +52 -0
  208. data/doc/en/cairo-path-close-path.rd +21 -0
  209. data/doc/en/cairo-path-curve-to.html +52 -0
  210. data/doc/en/cairo-path-curve-to.rd +21 -0
  211. data/doc/en/cairo-path-data-type.html +41 -0
  212. data/doc/en/cairo-path-data-type.rd +16 -0
  213. data/doc/en/cairo-path-data.html +101 -0
  214. data/doc/en/cairo-path-data.rd +62 -0
  215. data/doc/en/cairo-path-line-to.html +52 -0
  216. data/doc/en/cairo-path-line-to.rd +21 -0
  217. data/doc/en/cairo-path-move-to.html +52 -0
  218. data/doc/en/cairo-path-move-to.rd +21 -0
  219. data/doc/en/cairo-path.html +158 -0
  220. data/doc/en/cairo-path.rd +109 -0
  221. data/doc/en/cairo-pattern-type-mismatch-error.html +50 -0
  222. data/doc/en/cairo-pattern-type-mismatch-error.rd +17 -0
  223. data/doc/en/cairo-pattern.html +102 -0
  224. data/doc/en/cairo-pattern.rd +62 -0
  225. data/doc/en/cairo-pdf-surface.html +60 -0
  226. data/doc/en/cairo-pdf-surface.rd +27 -0
  227. data/doc/en/cairo-point.html +77 -0
  228. data/doc/en/cairo-point.rd +42 -0
  229. data/doc/en/cairo-ps-level.html +52 -0
  230. data/doc/en/cairo-ps-level.rd +24 -0
  231. data/doc/en/cairo-ps-surface.html +95 -0
  232. data/doc/en/cairo-ps-surface.rd +55 -0
  233. data/doc/en/cairo-quartz-image-surface.html +60 -0
  234. data/doc/en/cairo-quartz-image-surface.rd +27 -0
  235. data/doc/en/cairo-quartz-surface.html +60 -0
  236. data/doc/en/cairo-quartz-surface.rd +27 -0
  237. data/doc/en/cairo-radial-pattern.html +63 -0
  238. data/doc/en/cairo-radial-pattern.rd +28 -0
  239. data/doc/en/cairo-read-error.html +50 -0
  240. data/doc/en/cairo-read-error.rd +17 -0
  241. data/doc/en/cairo-rectangle.html +92 -0
  242. data/doc/en/cairo-rectangle.rd +54 -0
  243. data/doc/en/cairo-scaled-font.html +87 -0
  244. data/doc/en/cairo-scaled-font.rd +50 -0
  245. data/doc/en/cairo-solid-pattern.html +65 -0
  246. data/doc/en/cairo-solid-pattern.rd +31 -0
  247. data/doc/en/cairo-subpixel-order.html +42 -0
  248. data/doc/en/cairo-subpixel-order.rd +17 -0
  249. data/doc/en/cairo-surface-finished-error.html +50 -0
  250. data/doc/en/cairo-surface-finished-error.rd +17 -0
  251. data/doc/en/cairo-surface-pattern.html +60 -0
  252. data/doc/en/cairo-surface-pattern.rd +27 -0
  253. data/doc/en/cairo-surface-type-mismatch-error.html +50 -0
  254. data/doc/en/cairo-surface-type-mismatch-error.rd +17 -0
  255. data/doc/en/cairo-surface.html +114 -0
  256. data/doc/en/cairo-surface.rd +72 -0
  257. data/doc/en/cairo-svg-surface.html +80 -0
  258. data/doc/en/cairo-svg-surface.rd +44 -0
  259. data/doc/en/cairo-svg-version.html +52 -0
  260. data/doc/en/cairo-svg-version.rd +24 -0
  261. data/doc/en/cairo-temp-file-error.html +50 -0
  262. data/doc/en/cairo-temp-file-error.rd +17 -0
  263. data/doc/en/cairo-text-extents.html +79 -0
  264. data/doc/en/cairo-text-extents.rd +44 -0
  265. data/doc/en/cairo-win32-printing-surface.html +60 -0
  266. data/doc/en/cairo-win32-printing-surface.rd +27 -0
  267. data/doc/en/cairo-win32-surface.html +65 -0
  268. data/doc/en/cairo-win32-surface.rd +31 -0
  269. data/doc/en/cairo-write-error.html +50 -0
  270. data/doc/en/cairo-write-error.rd +17 -0
  271. data/doc/en/cairo.html +123 -0
  272. data/doc/en/cairo.rd +95 -0
  273. data/doc/en/index.html +1080 -0
  274. data/doc/en/index.rd +1051 -0
  275. data/doc/index.html +18 -0
  276. data/doc/ja/cairo-antialias.html +57 -0
  277. data/doc/ja/cairo-clip-not-representable-error.html +56 -0
  278. data/doc/ja/cairo-color-base.html +75 -0
  279. data/doc/ja/cairo-color-cmyk.html +152 -0
  280. data/doc/ja/cairo-color-hsv.html +135 -0
  281. data/doc/ja/cairo-color-rgb.html +145 -0
  282. data/doc/ja/cairo-color-x11.html +183 -0
  283. data/doc/ja/cairo-color.html +317 -0
  284. data/doc/ja/cairo-content.html +51 -0
  285. data/doc/ja/cairo-context-blur.html +53 -0
  286. data/doc/ja/cairo-context-circle.html +54 -0
  287. data/doc/ja/cairo-context-color.html +52 -0
  288. data/doc/ja/cairo-context-path.html +77 -0
  289. data/doc/ja/cairo-context-rectangle.html +60 -0
  290. data/doc/ja/cairo-context-triangle.html +47 -0
  291. data/doc/ja/cairo-context.html +1449 -0
  292. data/doc/ja/cairo-error.html +56 -0
  293. data/doc/ja/cairo-extend.html +56 -0
  294. data/doc/ja/cairo-file-not-found.html +51 -0
  295. data/doc/ja/cairo-fill-rule.html +58 -0
  296. data/doc/ja/cairo-filter.html +43 -0
  297. data/doc/ja/cairo-font-extents.html +110 -0
  298. data/doc/ja/cairo-font-face.html +55 -0
  299. data/doc/ja/cairo-font-options.html +186 -0
  300. data/doc/ja/cairo-font-slant.html +50 -0
  301. data/doc/ja/cairo-font-weight.html +47 -0
  302. data/doc/ja/cairo-format.html +81 -0
  303. data/doc/ja/cairo-glyph.html +115 -0
  304. data/doc/ja/cairo-gradient-pattern.html +119 -0
  305. data/doc/ja/cairo-hint-metrics.html +57 -0
  306. data/doc/ja/cairo-hint-style.html +64 -0
  307. data/doc/ja/cairo-image-surface.html +131 -0
  308. data/doc/ja/cairo-invalid-content-error.html +54 -0
  309. data/doc/ja/cairo-invalid-dash-error.html +54 -0
  310. data/doc/ja/cairo-invalid-dsc-comment-error.html +54 -0
  311. data/doc/ja/cairo-invalid-format-error.html +54 -0
  312. data/doc/ja/cairo-invalid-index-error.html +54 -0
  313. data/doc/ja/cairo-invalid-matrix-error.html +54 -0
  314. data/doc/ja/cairo-invalid-path-data-error.html +54 -0
  315. data/doc/ja/cairo-invalid-pop-group-error.html +54 -0
  316. data/doc/ja/cairo-invalid-restore-error.html +55 -0
  317. data/doc/ja/cairo-invalid-status-error.html +55 -0
  318. data/doc/ja/cairo-invalid-stride-error.html +55 -0
  319. data/doc/ja/cairo-invalid-string-error.html +54 -0
  320. data/doc/ja/cairo-invalid-visual-error.html +57 -0
  321. data/doc/ja/cairo-line-cap.html +50 -0
  322. data/doc/ja/cairo-line-join.html +53 -0
  323. data/doc/ja/cairo-linear-pattern.html +87 -0
  324. data/doc/ja/cairo-matrix.html +343 -0
  325. data/doc/ja/cairo-no-current-point-error.html +54 -0
  326. data/doc/ja/cairo-null-pointer-error.html +54 -0
  327. data/doc/ja/cairo-operator.html +51 -0
  328. data/doc/ja/cairo-paper-parse-error.html +55 -0
  329. data/doc/ja/cairo-paper-unknown-paper-name.html +76 -0
  330. data/doc/ja/cairo-paper-unknown-unit.html +75 -0
  331. data/doc/ja/cairo-paper-unrecognized-paper-description.html +76 -0
  332. data/doc/ja/cairo-paper.html +357 -0
  333. data/doc/ja/cairo-path-close-path.html +57 -0
  334. data/doc/ja/cairo-path-curve-to.html +70 -0
  335. data/doc/ja/cairo-path-data-type.html +53 -0
  336. data/doc/ja/cairo-path-data.html +127 -0
  337. data/doc/ja/cairo-path-line-to.html +62 -0
  338. data/doc/ja/cairo-path-move-to.html +62 -0
  339. data/doc/ja/cairo-path.html +144 -0
  340. data/doc/ja/cairo-pattern-type-mismatch-error.html +56 -0
  341. data/doc/ja/cairo-pattern.html +128 -0
  342. data/doc/ja/cairo-pdf-surface.html +86 -0
  343. data/doc/ja/cairo-point.html +90 -0
  344. data/doc/ja/cairo-ps-level.html +62 -0
  345. data/doc/ja/cairo-ps-surface.html +214 -0
  346. data/doc/ja/cairo-quartz-image-surface.html +75 -0
  347. data/doc/ja/cairo-quartz-surface.html +93 -0
  348. data/doc/ja/cairo-radial-pattern.html +93 -0
  349. data/doc/ja/cairo-read-error.html +55 -0
  350. data/doc/ja/cairo-rectangle.html +109 -0
  351. data/doc/ja/cairo-scaled-font.html +144 -0
  352. data/doc/ja/cairo-solid-pattern.html +87 -0
  353. data/doc/ja/cairo-subpixel-order.html +57 -0
  354. data/doc/ja/cairo-surface-finished-error.html +54 -0
  355. data/doc/ja/cairo-surface-pattern.html +68 -0
  356. data/doc/ja/cairo-surface-type-mismatch-error.html +56 -0
  357. data/doc/ja/cairo-surface.html +191 -0
  358. data/doc/ja/cairo-svg-surface.html +114 -0
  359. data/doc/ja/cairo-svg-version.html +66 -0
  360. data/doc/ja/cairo-temp-file-error.html +50 -0
  361. data/doc/ja/cairo-text-extents.html +101 -0
  362. data/doc/ja/cairo-win32-printing-surface.html +80 -0
  363. data/doc/ja/cairo-win32-surface.html +100 -0
  364. data/doc/ja/cairo-write-error.html +55 -0
  365. data/doc/ja/cairo.html +148 -0
  366. data/doc/ja/index.html +1080 -0
  367. data/extconf.rb +153 -0
  368. data/misc/update-colors.rb +143 -0
  369. data/pkg-config.rb +278 -0
  370. data/samples/agg/README +4 -0
  371. data/samples/agg/aa_demo.rb +47 -0
  372. data/samples/agg/aa_test.rb +304 -0
  373. data/samples/blur.rb +47 -0
  374. data/samples/pac.rb +99 -0
  375. data/samples/pac2.rb +171 -0
  376. data/samples/png.rb +45 -0
  377. data/samples/scalable.rb +56 -0
  378. data/samples/text-on-path.rb +60 -0
  379. data/samples/text2.rb +131 -0
  380. data/src/cairo.def +96 -0
  381. data/src/cairo.so +0 -0
  382. data/src/lib/cairo.rb +141 -0
  383. data/src/lib/cairo/color.rb +255 -0
  384. data/src/lib/cairo/colors.rb +656 -0
  385. data/src/lib/cairo/constants.rb +21 -0
  386. data/src/lib/cairo/context.rb +29 -0
  387. data/src/lib/cairo/context/blur.rb +45 -0
  388. data/src/lib/cairo/context/circle.rb +9 -0
  389. data/src/lib/cairo/context/color.rb +11 -0
  390. data/src/lib/cairo/context/path.rb +116 -0
  391. data/src/lib/cairo/context/rectangle.rb +33 -0
  392. data/src/lib/cairo/context/triangle.rb +12 -0
  393. data/src/lib/cairo/paper.rb +183 -0
  394. data/src/lib/cairo/papers.rb +41 -0
  395. data/src/lib/cairo/path.rb +15 -0
  396. data/src/lib/cairo/point.rb +7 -0
  397. data/src/libruby-cairo.a +0 -0
  398. data/src/rb_cairo.c +82 -0
  399. data/src/rb_cairo.h +264 -0
  400. data/src/rb_cairo_constants.c +456 -0
  401. data/src/rb_cairo_context.c +1548 -0
  402. data/src/rb_cairo_exception.c +214 -0
  403. data/src/rb_cairo_font_extents.c +125 -0
  404. data/src/rb_cairo_font_face.c +56 -0
  405. data/src/rb_cairo_font_options.c +197 -0
  406. data/src/rb_cairo_glyph.c +159 -0
  407. data/src/rb_cairo_matrix.c +350 -0
  408. data/src/rb_cairo_path.c +459 -0
  409. data/src/rb_cairo_pattern.c +540 -0
  410. data/src/rb_cairo_private.c +78 -0
  411. data/src/rb_cairo_private.h +72 -0
  412. data/src/rb_cairo_scaled_font.c +177 -0
  413. data/src/rb_cairo_surface.c +1252 -0
  414. data/src/rb_cairo_text_extents.c +138 -0
  415. data/test/run-test.rb +15 -0
  416. data/test/test_paper.rb +81 -0
  417. data/test/test_pkg_config.rb +122 -0
  418. metadata +490 -0
@@ -0,0 +1,427 @@
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=US-ASCII">
5
+ <title>cairo_font_face_t</title>
6
+ <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
7
+ <link rel="start" href="index.html" title="Cairo: A Vector Graphics Library">
8
+ <link rel="up" href="Fonts.html" title="Fonts">
9
+ <link rel="prev" href="Fonts.html" title="Fonts">
10
+ <link rel="next" href="cairo-Scaled-Fonts.html" title="cairo_scaled_font_t">
11
+ <meta name="generator" content="GTK-Doc V1.9 (XML mode)">
12
+ <link rel="stylesheet" href="style.css" type="text/css">
13
+ <link rel="chapter" href="Drawing.html" title="Drawing">
14
+ <link rel="chapter" href="Fonts.html" title="Fonts">
15
+ <link rel="chapter" href="Surfaces.html" title="Surfaces">
16
+ <link rel="chapter" href="Support.html" title="Utilities">
17
+ <link rel="index" href="ix01.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="appendix" href="language-bindings.html" title="Appendix&#160;A.&#160;Creating a language binding for cairo">
22
+ </head>
23
+ <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
24
+ <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
25
+ <tr valign="middle">
26
+ <td><a accesskey="p" href="Fonts.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
27
+ <td><a accesskey="u" href="Fonts.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
28
+ <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
29
+ <th width="100%" align="center">Cairo: A Vector Graphics Library</th>
30
+ <td><a accesskey="n" href="cairo-Scaled-Fonts.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
31
+ </tr>
32
+ <tr><td colspan="5" class="shortcuts"><nobr><a href="#id2590230" class="shortcut">Top</a>
33
+ &#160;|&#160;
34
+ <a href="#id2594252" class="shortcut">Description</a></nobr></td></tr>
35
+ </table>
36
+ <div class="refentry" lang="en">
37
+ <a name="cairo-cairo-font-face-t"></a><div class="titlepage"></div>
38
+ <div class="refnamediv"><table width="100%"><tr>
39
+ <td valign="top">
40
+ <h2>
41
+ <a name="id2590230"></a><span class="refentrytitle">cairo_font_face_t</span>
42
+ </h2>
43
+ <p>cairo_font_face_t &#8212; Base class for font faces</p>
44
+ </td>
45
+ <td valign="top" align="right"></td>
46
+ </tr></table></div>
47
+ <div class="refsynopsisdiv">
48
+ <h2>Synopsis</h2>
49
+ <pre class="synopsis">
50
+
51
+
52
+
53
+ typedef <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t">cairo_font_face_t</a>;
54
+ <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t">cairo_font_face_t</a>* <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-reference">cairo_font_face_reference</a> (<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t">cairo_font_face_t</a> *font_face);
55
+ void <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-destroy">cairo_font_face_destroy</a> (<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t">cairo_font_face_t</a> *font_face);
56
+ <a class="link" href="cairo-Error-Handling.html#cairo-status-t">cairo_status_t</a> <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-status">cairo_font_face_status</a> (<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t">cairo_font_face_t</a> *font_face);
57
+ enum <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-type-t">cairo_font_type_t</a>;
58
+ <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-type-t">cairo_font_type_t</a> <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-get-type">cairo_font_face_get_type</a> (<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t">cairo_font_face_t</a> *font_face);
59
+ unsigned int <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-get-reference-count">cairo_font_face_get_reference_count</a> (<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t">cairo_font_face_t</a> *font_face);
60
+ <a class="link" href="cairo-Error-Handling.html#cairo-status-t">cairo_status_t</a> <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-set-user-data">cairo_font_face_set_user_data</a> (<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t">cairo_font_face_t</a> *font_face,
61
+ const <a class="link" href="cairo-Types.html#cairo-user-data-key-t">cairo_user_data_key_t</a> *key,
62
+ void *user_data,
63
+ <a class="link" href="cairo-Types.html#cairo-destroy-func-t">cairo_destroy_func_t</a> destroy);
64
+ void* <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-get-user-data">cairo_font_face_get_user_data</a> (<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t">cairo_font_face_t</a> *font_face,
65
+ const <a class="link" href="cairo-Types.html#cairo-user-data-key-t">cairo_user_data_key_t</a> *key);
66
+ </pre>
67
+ </div>
68
+ <div class="refsect1" lang="en">
69
+ <a name="id2594252"></a><h2>Description</h2>
70
+ <p>
71
+ <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t"><span class="type">cairo_font_face_t</span></a> represents a particular font at a particular weight,
72
+ slant, and other characteristic but no size, transformation, or size.
73
+ </p>
74
+ <p>
75
+ Font faces are created using <em class="firstterm">font-backend</em>-specific
76
+ constructors, typically of the form
77
+ cairo_<span class="emphasis"><em>backend</em></span><code class="function">_font_face_create()</code>,
78
+ or implicitly using the <em class="firstterm">toy</em> text API by way of
79
+ <a class="link" href="cairo-Text.html#cairo-select-font-face"><code class="function">cairo_select_font_face()</code></a>. The resulting face can be accessed using
80
+ <a class="link" href="cairo-Text.html#cairo-get-font-face"><code class="function">cairo_get_font_face()</code></a>.
81
+ </p>
82
+ </div>
83
+ <div class="refsect1" lang="en">
84
+ <a name="id2594318"></a><h2>Details</h2>
85
+ <div class="refsect2" lang="en">
86
+ <a name="id2594329"></a><h3>
87
+ <a name="cairo-font-face-t"></a>cairo_font_face_t</h3>
88
+ <a class="indexterm" name="id2594342"></a><pre class="programlisting">typedef struct _cairo_font_face cairo_font_face_t;
89
+ </pre>
90
+ <p>
91
+ A <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t"><span class="type">cairo_font_face_t</span></a> specifies all aspects of a font other
92
+ than the size or font matrix (a font matrix is used to distort
93
+ a font by sheering it or scaling it unequally in the two
94
+ directions) . A font face can be set on a <a class="link" href="cairo-cairo-t.html#cairo-t"><span class="type">cairo_t</span></a> by using
95
+ <a class="link" href="cairo-Text.html#cairo-set-font-face"><code class="function">cairo_set_font_face()</code></a>; the size and font matrix are set with
96
+ <a class="link" href="cairo-Text.html#cairo-set-font-size"><code class="function">cairo_set_font_size()</code></a> and <a class="link" href="cairo-Text.html#cairo-set-font-matrix"><code class="function">cairo_set_font_matrix()</code></a>.
97
+ </p>
98
+ <p>
99
+ There are various types of font faces, depending on the
100
+ <em class="firstterm">font backend</em> they use. The type of a
101
+ font face can be queried using <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-get-type"><code class="function">cairo_font_face_get_type()</code></a>.
102
+ </p>
103
+ <p>
104
+ Memory management of <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t"><span class="type">cairo_font_face_t</span></a> is done with
105
+ <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-reference"><code class="function">cairo_font_face_reference()</code></a> and <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-destroy"><code class="function">cairo_font_face_destroy()</code></a>.</p>
106
+ <p>
107
+
108
+ </p>
109
+ </div>
110
+ <hr>
111
+ <div class="refsect2" lang="en">
112
+ <a name="id2641773"></a><h3>
113
+ <a name="cairo-font-face-reference"></a>cairo_font_face_reference ()</h3>
114
+ <a class="indexterm" name="id2641784"></a><pre class="programlisting"><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t">cairo_font_face_t</a>* cairo_font_face_reference (<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t">cairo_font_face_t</a> *font_face);</pre>
115
+ <p>
116
+ Increases the reference count on <em class="parameter"><code>font_face</code></em> by one. This prevents
117
+ <em class="parameter"><code>font_face</code></em> from being destroyed until a matching call to
118
+ <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-destroy"><code class="function">cairo_font_face_destroy()</code></a> is made.
119
+ </p>
120
+ <p>
121
+ The number of references to a <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t"><span class="type">cairo_font_face_t</span></a> can be get using
122
+ <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-get-reference-count"><code class="function">cairo_font_face_get_reference_count()</code></a>.</p>
123
+ <p>
124
+
125
+ </p>
126
+ <div class="variablelist"><table border="0">
127
+ <col align="left" valign="top">
128
+ <tbody>
129
+ <tr>
130
+ <td><p><span class="term"><em class="parameter"><code>font_face</code></em>&#160;:</span></p></td>
131
+ <td> a <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t"><span class="type">cairo_font_face_t</span></a>, (may be <code class="literal">NULL</code> in which case this
132
+ function does nothing).
133
+ </td>
134
+ </tr>
135
+ <tr>
136
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
137
+ <td> the referenced <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t"><span class="type">cairo_font_face_t</span></a>.
138
+ </td>
139
+ </tr>
140
+ </tbody>
141
+ </table></div>
142
+ </div>
143
+ <hr>
144
+ <div class="refsect2" lang="en">
145
+ <a name="id2642165"></a><h3>
146
+ <a name="cairo-font-face-destroy"></a>cairo_font_face_destroy ()</h3>
147
+ <a class="indexterm" name="id2642176"></a><pre class="programlisting">void cairo_font_face_destroy (<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t">cairo_font_face_t</a> *font_face);</pre>
148
+ <p>
149
+ Decreases the reference count on <em class="parameter"><code>font_face</code></em> by one. If the result
150
+ is zero, then <em class="parameter"><code>font_face</code></em> and all associated resources are freed.
151
+ See <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-reference"><code class="function">cairo_font_face_reference()</code></a>.</p>
152
+ <p>
153
+
154
+ </p>
155
+ <div class="variablelist"><table border="0">
156
+ <col align="left" valign="top">
157
+ <tbody><tr>
158
+ <td><p><span class="term"><em class="parameter"><code>font_face</code></em>&#160;:</span></p></td>
159
+ <td> a <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t"><span class="type">cairo_font_face_t</span></a>
160
+ </td>
161
+ </tr></tbody>
162
+ </table></div>
163
+ </div>
164
+ <hr>
165
+ <div class="refsect2" lang="en">
166
+ <a name="id2642255"></a><h3>
167
+ <a name="cairo-font-face-status"></a>cairo_font_face_status ()</h3>
168
+ <a class="indexterm" name="id2642266"></a><pre class="programlisting"><a class="link" href="cairo-Error-Handling.html#cairo-status-t">cairo_status_t</a> cairo_font_face_status (<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t">cairo_font_face_t</a> *font_face);</pre>
169
+ <p>
170
+ Checks whether an error has previously occurred for this
171
+ font face</p>
172
+ <p>
173
+
174
+ </p>
175
+ <div class="variablelist"><table border="0">
176
+ <col align="left" valign="top">
177
+ <tbody>
178
+ <tr>
179
+ <td><p><span class="term"><em class="parameter"><code>font_face</code></em>&#160;:</span></p></td>
180
+ <td> a <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t"><span class="type">cairo_font_face_t</span></a>
181
+ </td>
182
+ </tr>
183
+ <tr>
184
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
185
+ <td> <a class="link" href="cairo-Error-Handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or another error such as
186
+ <a class="link" href="cairo-Error-Handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a>.
187
+ </td>
188
+ </tr>
189
+ </tbody>
190
+ </table></div>
191
+ </div>
192
+ <hr>
193
+ <div class="refsect2" lang="en">
194
+ <a name="id2629117"></a><h3>
195
+ <a name="cairo-font-type-t"></a>enum cairo_font_type_t</h3>
196
+ <a class="indexterm" name="id2629132"></a><pre class="programlisting">typedef enum _cairo_font_type {
197
+ CAIRO_FONT_TYPE_TOY,
198
+ CAIRO_FONT_TYPE_FT,
199
+ CAIRO_FONT_TYPE_WIN32,
200
+ CAIRO_FONT_TYPE_QUARTZ
201
+ } cairo_font_type_t;
202
+ </pre>
203
+ <p>
204
+ <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-type-t"><span class="type">cairo_font_type_t</span></a> is used to describe the type of a given font
205
+ face or scaled font. The font types are also known as "font
206
+ backends" within cairo.
207
+ </p>
208
+ <p>
209
+ The type of a font face is determined by the function used to
210
+ create it, which will generally be of the form
211
+ cairo_<span class="emphasis"><em>type</em></span>_font_face_create. The font face type can be queried
212
+ with <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-get-type"><code class="function">cairo_font_face_get_type()</code></a>
213
+ </p>
214
+ <p>
215
+ The various <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t"><span class="type">cairo_font_face_t</span></a> functions can be used with a font face
216
+ of any type.
217
+ </p>
218
+ <p>
219
+ The type of a scaled font is determined by the type of the font
220
+ face passed to <a class="link" href="cairo-Scaled-Fonts.html#cairo-scaled-font-create"><code class="function">cairo_scaled_font_create()</code></a>. The scaled font type can
221
+ be queried with <a class="link" href="cairo-Scaled-Fonts.html#cairo-scaled-font-get-type"><code class="function">cairo_scaled_font_get_type()</code></a>
222
+ </p>
223
+ <p>
224
+ The various <a class="link" href="cairo-Scaled-Fonts.html#cairo-scaled-font-t"><span class="type">cairo_scaled_font_t</span></a> functions can be used with scaled
225
+ fonts of any type, but some font backends also provide
226
+ type-specific functions that must only be called with a scaled font
227
+ of the appropriate type. These functions have names that begin with
228
+ cairo_<span class="emphasis"><em>type</em></span>_scaled_font such as <a class="link" href="cairo-FreeType-Fonts.html#cairo-ft-scaled-font-lock-face"><code class="function">cairo_ft_scaled_font_lock_face()</code></a>.
229
+ </p>
230
+ <p>
231
+ The behavior of calling a type-specific function with a scaled font
232
+ of the wrong type is undefined.
233
+ </p>
234
+ <p>
235
+ New entries may be added in future versions.</p>
236
+ <p>
237
+
238
+ </p>
239
+ <div class="variablelist"><table border="0">
240
+ <col align="left" valign="top">
241
+ <tbody>
242
+ <tr>
243
+ <td><p><span class="term"><a name="CAIRO-FONT-TYPE-TOY:CAPS"></a><code class="literal">CAIRO_FONT_TYPE_TOY</code></span></p></td>
244
+ <td> The font was created using cairo's toy font api
245
+ </td>
246
+ </tr>
247
+ <tr>
248
+ <td><p><span class="term"><a name="CAIRO-FONT-TYPE-FT:CAPS"></a><code class="literal">CAIRO_FONT_TYPE_FT</code></span></p></td>
249
+ <td> The font is of type FreeType
250
+ </td>
251
+ </tr>
252
+ <tr>
253
+ <td><p><span class="term"><a name="CAIRO-FONT-TYPE-WIN32:CAPS"></a><code class="literal">CAIRO_FONT_TYPE_WIN32</code></span></p></td>
254
+ <td> The font is of type Win32
255
+ </td>
256
+ </tr>
257
+ <tr>
258
+ <td><p><span class="term"><a name="CAIRO-FONT-TYPE-QUARTZ:CAPS"></a><code class="literal">CAIRO_FONT_TYPE_QUARTZ</code></span></p></td>
259
+ <td> The font is of type Quartz (Since: 1.6)
260
+ </td>
261
+ </tr>
262
+ </tbody>
263
+ </table></div>
264
+ <p class="since">Since 1.2
265
+ </p>
266
+ </div>
267
+ <hr>
268
+ <div class="refsect2" lang="en">
269
+ <a name="id2640989"></a><h3>
270
+ <a name="cairo-font-face-get-type"></a>cairo_font_face_get_type ()</h3>
271
+ <a class="indexterm" name="id2641002"></a><pre class="programlisting"><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-type-t">cairo_font_type_t</a> cairo_font_face_get_type (<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t">cairo_font_face_t</a> *font_face);</pre>
272
+ <p>
273
+ This function returns the type of the backend used to create
274
+ a font face. See <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-type-t"><span class="type">cairo_font_type_t</span></a> for available types.</p>
275
+ <p>
276
+
277
+ </p>
278
+ <div class="variablelist"><table border="0">
279
+ <col align="left" valign="top">
280
+ <tbody>
281
+ <tr>
282
+ <td><p><span class="term"><em class="parameter"><code>font_face</code></em>&#160;:</span></p></td>
283
+ <td> a font face
284
+ </td>
285
+ </tr>
286
+ <tr>
287
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
288
+ <td> The type of <em class="parameter"><code>font_face</code></em>.
289
+
290
+ </td>
291
+ </tr>
292
+ </tbody>
293
+ </table></div>
294
+ <p class="since">Since 1.2
295
+ </p>
296
+ </div>
297
+ <hr>
298
+ <div class="refsect2" lang="en">
299
+ <a name="id2641084"></a><h3>
300
+ <a name="cairo-font-face-get-reference-count"></a>cairo_font_face_get_reference_count ()</h3>
301
+ <a class="indexterm" name="id2641099"></a><pre class="programlisting">unsigned int cairo_font_face_get_reference_count (<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t">cairo_font_face_t</a> *font_face);</pre>
302
+ <p>
303
+ Returns the current reference count of <em class="parameter"><code>font_face</code></em>.</p>
304
+ <p>
305
+
306
+ </p>
307
+ <div class="variablelist"><table border="0">
308
+ <col align="left" valign="top">
309
+ <tbody>
310
+ <tr>
311
+ <td><p><span class="term"><em class="parameter"><code>font_face</code></em>&#160;:</span></p></td>
312
+ <td> a <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t"><span class="type">cairo_font_face_t</span></a>
313
+ </td>
314
+ </tr>
315
+ <tr>
316
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
317
+ <td> the current reference count of <em class="parameter"><code>font_face</code></em>. If the
318
+ object is a nil object, 0 will be returned.
319
+
320
+ </td>
321
+ </tr>
322
+ </tbody>
323
+ </table></div>
324
+ <p class="since">Since 1.4
325
+ </p>
326
+ </div>
327
+ <hr>
328
+ <div class="refsect2" lang="en">
329
+ <a name="id2641188"></a><h3>
330
+ <a name="cairo-font-face-set-user-data"></a>cairo_font_face_set_user_data ()</h3>
331
+ <a class="indexterm" name="id2641202"></a><pre class="programlisting"><a class="link" href="cairo-Error-Handling.html#cairo-status-t">cairo_status_t</a> cairo_font_face_set_user_data (<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t">cairo_font_face_t</a> *font_face,
332
+ const <a class="link" href="cairo-Types.html#cairo-user-data-key-t">cairo_user_data_key_t</a> *key,
333
+ void *user_data,
334
+ <a class="link" href="cairo-Types.html#cairo-destroy-func-t">cairo_destroy_func_t</a> destroy);</pre>
335
+ <p>
336
+ Attach user data to <em class="parameter"><code>font_face</code></em>. To remove user data from a font face,
337
+ call this function with the key that was used to set it and <code class="literal">NULL</code>
338
+ for <em class="parameter"><code>data</code></em>.</p>
339
+ <p>
340
+
341
+ </p>
342
+ <div class="variablelist"><table border="0">
343
+ <col align="left" valign="top">
344
+ <tbody>
345
+ <tr>
346
+ <td><p><span class="term"><em class="parameter"><code>font_face</code></em>&#160;:</span></p></td>
347
+ <td> a <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t"><span class="type">cairo_font_face_t</span></a>
348
+ </td>
349
+ </tr>
350
+ <tr>
351
+ <td><p><span class="term"><em class="parameter"><code>key</code></em>&#160;:</span></p></td>
352
+ <td> the address of a <a class="link" href="cairo-Types.html#cairo-user-data-key-t"><span class="type">cairo_user_data_key_t</span></a> to attach the user data to
353
+ </td>
354
+ </tr>
355
+ <tr>
356
+ <td><p><span class="term"><em class="parameter"><code>user_data</code></em>&#160;:</span></p></td>
357
+ <td> the user data to attach to the font face
358
+ </td>
359
+ </tr>
360
+ <tr>
361
+ <td><p><span class="term"><em class="parameter"><code>destroy</code></em>&#160;:</span></p></td>
362
+ <td> a <a class="link" href="cairo-Types.html#cairo-destroy-func-t"><span class="type">cairo_destroy_func_t</span></a> which will be called when the
363
+ font face is destroyed or when new user data is attached using the
364
+ same key.
365
+ </td>
366
+ </tr>
367
+ <tr>
368
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
369
+ <td> <a class="link" href="cairo-Error-Handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or <a class="link" href="cairo-Error-Handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a> if a
370
+ slot could not be allocated for the user data.
371
+ </td>
372
+ </tr>
373
+ </tbody>
374
+ </table></div>
375
+ </div>
376
+ <hr>
377
+ <div class="refsect2" lang="en">
378
+ <a name="id2626649"></a><h3>
379
+ <a name="cairo-font-face-get-user-data"></a>cairo_font_face_get_user_data ()</h3>
380
+ <a class="indexterm" name="id2626662"></a><pre class="programlisting">void* cairo_font_face_get_user_data (<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t">cairo_font_face_t</a> *font_face,
381
+ const <a class="link" href="cairo-Types.html#cairo-user-data-key-t">cairo_user_data_key_t</a> *key);</pre>
382
+ <p>
383
+ Return user data previously attached to <em class="parameter"><code>font_face</code></em> using the specified
384
+ key. If no user data has been attached with the given key this
385
+ function returns <code class="literal">NULL</code>.</p>
386
+ <p>
387
+
388
+ </p>
389
+ <div class="variablelist"><table border="0">
390
+ <col align="left" valign="top">
391
+ <tbody>
392
+ <tr>
393
+ <td><p><span class="term"><em class="parameter"><code>font_face</code></em>&#160;:</span></p></td>
394
+ <td> a <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t"><span class="type">cairo_font_face_t</span></a>
395
+ </td>
396
+ </tr>
397
+ <tr>
398
+ <td><p><span class="term"><em class="parameter"><code>key</code></em>&#160;:</span></p></td>
399
+ <td> the address of the <a class="link" href="cairo-Types.html#cairo-user-data-key-t"><span class="type">cairo_user_data_key_t</span></a> the user data was
400
+ attached to
401
+ </td>
402
+ </tr>
403
+ <tr>
404
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
405
+ <td> the user data previously attached or <code class="literal">NULL</code>.
406
+ </td>
407
+ </tr>
408
+ </tbody>
409
+ </table></div>
410
+ </div>
411
+ </div>
412
+ <div class="refsect1" lang="en">
413
+ <a name="id2626787"></a><h2>See Also</h2>
414
+ <p>
415
+ </p>
416
+ <div class="itemizedlist"><ul type="disc"><li><a class="link" href="cairo-Scaled-Fonts.html#cairo-scaled-font-t"><span class="type">cairo_scaled_font_t</span></a></li></ul></div>
417
+ <p>
418
+ </p>
419
+ </div>
420
+ <div class="refsect1" lang="en">
421
+ <a name="id2626810"></a><div class="refsect2" lang="en"><a name="id2626812"></a></div>
422
+ <hr>
423
+ <div class="refsect2" lang="en"><a name="id2626813"></a></div>
424
+ </div>
425
+ </div>
426
+ </body>
427
+ </html>
@@ -0,0 +1,626 @@
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=US-ASCII">
5
+ <title>cairo_matrix_t</title>
6
+ <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
7
+ <link rel="start" href="index.html" title="Cairo: A Vector Graphics Library">
8
+ <link rel="up" href="Support.html" title="Utilities">
9
+ <link rel="prev" href="Support.html" title="Utilities">
10
+ <link rel="next" href="cairo-Error-Handling.html" title="Error handling">
11
+ <meta name="generator" content="GTK-Doc V1.9 (XML mode)">
12
+ <link rel="stylesheet" href="style.css" type="text/css">
13
+ <link rel="chapter" href="Drawing.html" title="Drawing">
14
+ <link rel="chapter" href="Fonts.html" title="Fonts">
15
+ <link rel="chapter" href="Surfaces.html" title="Surfaces">
16
+ <link rel="chapter" href="Support.html" title="Utilities">
17
+ <link rel="index" href="ix01.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="appendix" href="language-bindings.html" title="Appendix&#160;A.&#160;Creating a language binding for cairo">
22
+ </head>
23
+ <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
24
+ <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
25
+ <tr valign="middle">
26
+ <td><a accesskey="p" href="Support.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
27
+ <td><a accesskey="u" href="Support.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
28
+ <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
29
+ <th width="100%" align="center">Cairo: A Vector Graphics Library</th>
30
+ <td><a accesskey="n" href="cairo-Error-Handling.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
31
+ </tr>
32
+ <tr><td colspan="5" class="shortcuts"><nobr><a href="#id2527354" class="shortcut">Top</a>
33
+ &#160;|&#160;
34
+ <a href="#id2674076" class="shortcut">Description</a></nobr></td></tr>
35
+ </table>
36
+ <div class="refentry" lang="en">
37
+ <a name="cairo-cairo-matrix-t"></a><div class="titlepage"></div>
38
+ <div class="refnamediv"><table width="100%"><tr>
39
+ <td valign="top">
40
+ <h2>
41
+ <a name="id2527354"></a><span class="refentrytitle">cairo_matrix_t</span>
42
+ </h2>
43
+ <p>cairo_matrix_t &#8212; Generic matrix operations</p>
44
+ </td>
45
+ <td valign="top" align="right"></td>
46
+ </tr></table></div>
47
+ <div class="refsynopsisdiv">
48
+ <h2>Synopsis</h2>
49
+ <pre class="synopsis">
50
+
51
+
52
+
53
+ <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a>;
54
+ void <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-init">cairo_matrix_init</a> (<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
55
+ double xx,
56
+ double yx,
57
+ double xy,
58
+ double yy,
59
+ double x0,
60
+ double y0);
61
+ void <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-init-identity">cairo_matrix_init_identity</a> (<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix);
62
+ void <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-init-translate">cairo_matrix_init_translate</a> (<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
63
+ double tx,
64
+ double ty);
65
+ void <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-init-scale">cairo_matrix_init_scale</a> (<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
66
+ double sx,
67
+ double sy);
68
+ void <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-init-rotate">cairo_matrix_init_rotate</a> (<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
69
+ double radians);
70
+ void <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-translate">cairo_matrix_translate</a> (<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
71
+ double tx,
72
+ double ty);
73
+ void <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-scale">cairo_matrix_scale</a> (<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
74
+ double sx,
75
+ double sy);
76
+ void <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-rotate">cairo_matrix_rotate</a> (<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
77
+ double radians);
78
+ <a class="link" href="cairo-Error-Handling.html#cairo-status-t">cairo_status_t</a> <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-invert">cairo_matrix_invert</a> (<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix);
79
+ void <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-multiply">cairo_matrix_multiply</a> (<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *result,
80
+ const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *a,
81
+ const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *b);
82
+ void <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-transform-distance">cairo_matrix_transform_distance</a> (const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
83
+ double *dx,
84
+ double *dy);
85
+ void <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-transform-point">cairo_matrix_transform_point</a> (const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
86
+ double *x,
87
+ double *y);
88
+ </pre>
89
+ </div>
90
+ <div class="refsect1" lang="en">
91
+ <a name="id2674076"></a><h2>Description</h2>
92
+ <p>
93
+ <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t"><span class="type">cairo_matrix_t</span></a> is used throughout cairo to convert between different
94
+ coordinate spaces. A <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t"><span class="type">cairo_matrix_t</span></a> holds an affine transformation,
95
+ such as a scale, rotation, shear, or a combination of these.
96
+ The transformation of a point (<code class="literal">x</code>,<code class="literal">y</code>)
97
+ is given by:
98
+ </p>
99
+ <pre class="programlisting">
100
+ x_new = xx * x + xy * y + x0;
101
+ y_new = yx * x + yy * y + y0;
102
+ </pre>
103
+ <p>
104
+ The current transformation matrix of a <a class="link" href="cairo-cairo-t.html#cairo-t"><span class="type">cairo_t</span></a>, represented as a
105
+ <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t"><span class="type">cairo_matrix_t</span></a>, defines the transformation from user-space
106
+ coordinates to device-space coordinates. See <a class="link" href="cairo-Transformations.html#cairo-get-matrix"><code class="function">cairo_get_matrix()</code></a> and
107
+ <a class="link" href="cairo-Transformations.html#cairo-set-matrix"><code class="function">cairo_set_matrix()</code></a>.
108
+ </p>
109
+ </div>
110
+ <div class="refsect1" lang="en">
111
+ <a name="id2669095"></a><h2>Details</h2>
112
+ <div class="refsect2" lang="en">
113
+ <a name="id2669106"></a><h3>
114
+ <a name="cairo-matrix-t"></a>cairo_matrix_t</h3>
115
+ <a class="indexterm" name="id2669118"></a><pre class="programlisting">typedef struct {
116
+ double xx; double yx;
117
+ double xy; double yy;
118
+ double x0; double y0;
119
+ } cairo_matrix_t;
120
+ </pre>
121
+ <p>
122
+ A <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t"><span class="type">cairo_matrix_t</span></a> holds an affine transformation, such as a scale,
123
+ rotation, shear, or a combination of those. The transformation of
124
+ a point (x, y) is given by:
125
+ </p>
126
+ <pre class="programlisting">
127
+ x_new = xx * x + xy * y + x0;
128
+ y_new = yx * x + yy * y + y0;
129
+ </pre>
130
+ <p>
131
+
132
+ </p>
133
+ <div class="variablelist"><table border="0">
134
+ <col align="left" valign="top">
135
+ <tbody>
136
+ <tr>
137
+ <td><p><span class="term">double&#160;<em class="structfield"><code>xx</code></em>;</span></p></td>
138
+ <td> xx component of the affine transformation
139
+ </td>
140
+ </tr>
141
+ <tr>
142
+ <td><p><span class="term">double&#160;<em class="structfield"><code>yx</code></em>;</span></p></td>
143
+ <td> yx component of the affine transformation
144
+ </td>
145
+ </tr>
146
+ <tr>
147
+ <td><p><span class="term">double&#160;<em class="structfield"><code>xy</code></em>;</span></p></td>
148
+ <td> xy component of the affine transformation
149
+ </td>
150
+ </tr>
151
+ <tr>
152
+ <td><p><span class="term">double&#160;<em class="structfield"><code>yy</code></em>;</span></p></td>
153
+ <td> yy component of the affine transformation
154
+ </td>
155
+ </tr>
156
+ <tr>
157
+ <td><p><span class="term">double&#160;<em class="structfield"><code>x0</code></em>;</span></p></td>
158
+ <td> X translation component of the affine transformation
159
+ </td>
160
+ </tr>
161
+ <tr>
162
+ <td><p><span class="term">double&#160;<em class="structfield"><code>y0</code></em>;</span></p></td>
163
+ <td> Y translation component of the affine transformation
164
+ </td>
165
+ </tr>
166
+ </tbody>
167
+ </table></div>
168
+ </div>
169
+ <hr>
170
+ <div class="refsect2" lang="en">
171
+ <a name="id2669284"></a><h3>
172
+ <a name="cairo-matrix-init"></a>cairo_matrix_init ()</h3>
173
+ <a class="indexterm" name="id2669297"></a><pre class="programlisting">void cairo_matrix_init (<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
174
+ double xx,
175
+ double yx,
176
+ double xy,
177
+ double yy,
178
+ double x0,
179
+ double y0);</pre>
180
+ <p>
181
+ Sets <em class="parameter"><code>matrix</code></em> to be the affine transformation given by
182
+ <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
183
+ by:
184
+ </p>
185
+ <pre class="programlisting">
186
+ x_new = xx * x + xy * y + x0;
187
+ y_new = yx * x + yy * y + y0;
188
+ </pre>
189
+ <p>
190
+
191
+ </p>
192
+ <div class="variablelist"><table border="0">
193
+ <col align="left" valign="top">
194
+ <tbody>
195
+ <tr>
196
+ <td><p><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></p></td>
197
+ <td> a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t"><span class="type">cairo_matrix_t</span></a>
198
+ </td>
199
+ </tr>
200
+ <tr>
201
+ <td><p><span class="term"><em class="parameter"><code>xx</code></em>&#160;:</span></p></td>
202
+ <td> xx component of the affine transformation
203
+ </td>
204
+ </tr>
205
+ <tr>
206
+ <td><p><span class="term"><em class="parameter"><code>yx</code></em>&#160;:</span></p></td>
207
+ <td> yx component of the affine transformation
208
+ </td>
209
+ </tr>
210
+ <tr>
211
+ <td><p><span class="term"><em class="parameter"><code>xy</code></em>&#160;:</span></p></td>
212
+ <td> xy component of the affine transformation
213
+ </td>
214
+ </tr>
215
+ <tr>
216
+ <td><p><span class="term"><em class="parameter"><code>yy</code></em>&#160;:</span></p></td>
217
+ <td> yy component of the affine transformation
218
+ </td>
219
+ </tr>
220
+ <tr>
221
+ <td><p><span class="term"><em class="parameter"><code>x0</code></em>&#160;:</span></p></td>
222
+ <td> X translation component of the affine transformation
223
+ </td>
224
+ </tr>
225
+ <tr>
226
+ <td><p><span class="term"><em class="parameter"><code>y0</code></em>&#160;:</span></p></td>
227
+ <td> Y translation component of the affine transformation
228
+ </td>
229
+ </tr>
230
+ </tbody>
231
+ </table></div>
232
+ </div>
233
+ <hr>
234
+ <div class="refsect2" lang="en">
235
+ <a name="id2674874"></a><h3>
236
+ <a name="cairo-matrix-init-identity"></a>cairo_matrix_init_identity ()</h3>
237
+ <a class="indexterm" name="id2674884"></a><pre class="programlisting">void cairo_matrix_init_identity (<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix);</pre>
238
+ <p>
239
+ Modifies <em class="parameter"><code>matrix</code></em> to be an identity transformation.</p>
240
+ <p>
241
+
242
+ </p>
243
+ <div class="variablelist"><table border="0">
244
+ <col align="left" valign="top">
245
+ <tbody><tr>
246
+ <td><p><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></p></td>
247
+ <td> a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t"><span class="type">cairo_matrix_t</span></a>
248
+ </td>
249
+ </tr></tbody>
250
+ </table></div>
251
+ </div>
252
+ <hr>
253
+ <div class="refsect2" lang="en">
254
+ <a name="id2674940"></a><h3>
255
+ <a name="cairo-matrix-init-translate"></a>cairo_matrix_init_translate ()</h3>
256
+ <a class="indexterm" name="id2674950"></a><pre class="programlisting">void cairo_matrix_init_translate (<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
257
+ double tx,
258
+ double ty);</pre>
259
+ <p>
260
+ Initializes <em class="parameter"><code>matrix</code></em> to a transformation that translates by <em class="parameter"><code>tx</code></em> and
261
+ <em class="parameter"><code>ty</code></em> in the X and Y dimensions, respectively.</p>
262
+ <p>
263
+
264
+ </p>
265
+ <div class="variablelist"><table border="0">
266
+ <col align="left" valign="top">
267
+ <tbody>
268
+ <tr>
269
+ <td><p><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></p></td>
270
+ <td> a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t"><span class="type">cairo_matrix_t</span></a>
271
+ </td>
272
+ </tr>
273
+ <tr>
274
+ <td><p><span class="term"><em class="parameter"><code>tx</code></em>&#160;:</span></p></td>
275
+ <td> amount to translate in the X direction
276
+ </td>
277
+ </tr>
278
+ <tr>
279
+ <td><p><span class="term"><em class="parameter"><code>ty</code></em>&#160;:</span></p></td>
280
+ <td> amount to translate in the Y direction
281
+ </td>
282
+ </tr>
283
+ </tbody>
284
+ </table></div>
285
+ </div>
286
+ <hr>
287
+ <div class="refsect2" lang="en">
288
+ <a name="id2675063"></a><h3>
289
+ <a name="cairo-matrix-init-scale"></a>cairo_matrix_init_scale ()</h3>
290
+ <a class="indexterm" name="id2675074"></a><pre class="programlisting">void cairo_matrix_init_scale (<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
291
+ double sx,
292
+ double sy);</pre>
293
+ <p>
294
+ 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>
295
+ in the X and Y dimensions, respectively.</p>
296
+ <p>
297
+
298
+ </p>
299
+ <div class="variablelist"><table border="0">
300
+ <col align="left" valign="top">
301
+ <tbody>
302
+ <tr>
303
+ <td><p><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></p></td>
304
+ <td> a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t"><span class="type">cairo_matrix_t</span></a>
305
+ </td>
306
+ </tr>
307
+ <tr>
308
+ <td><p><span class="term"><em class="parameter"><code>sx</code></em>&#160;:</span></p></td>
309
+ <td> scale factor in the X direction
310
+ </td>
311
+ </tr>
312
+ <tr>
313
+ <td><p><span class="term"><em class="parameter"><code>sy</code></em>&#160;:</span></p></td>
314
+ <td> scale factor in the Y direction
315
+ </td>
316
+ </tr>
317
+ </tbody>
318
+ </table></div>
319
+ </div>
320
+ <hr>
321
+ <div class="refsect2" lang="en">
322
+ <a name="id2675193"></a><h3>
323
+ <a name="cairo-matrix-init-rotate"></a>cairo_matrix_init_rotate ()</h3>
324
+ <a class="indexterm" name="id2675204"></a><pre class="programlisting">void cairo_matrix_init_rotate (<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
325
+ double radians);</pre>
326
+ <p>
327
+ Initialized <em class="parameter"><code>matrix</code></em> to a transformation that rotates by <em class="parameter"><code>radians</code></em>.</p>
328
+ <p>
329
+
330
+ </p>
331
+ <div class="variablelist"><table border="0">
332
+ <col align="left" valign="top">
333
+ <tbody>
334
+ <tr>
335
+ <td><p><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></p></td>
336
+ <td> a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t"><span class="type">cairo_matrix_t</span></a>
337
+ </td>
338
+ </tr>
339
+ <tr>
340
+ <td><p><span class="term"><em class="parameter"><code>radians</code></em>&#160;:</span></p></td>
341
+ <td> angle of rotation, in radians. The direction of rotation
342
+ is defined such that positive angles rotate in the direction from
343
+ the positive X axis toward the positive Y axis. With the default
344
+ axis orientation of cairo, positive angles rotate in a clockwise
345
+ direction.
346
+ </td>
347
+ </tr>
348
+ </tbody>
349
+ </table></div>
350
+ </div>
351
+ <hr>
352
+ <div class="refsect2" lang="en">
353
+ <a name="id2675299"></a><h3>
354
+ <a name="cairo-matrix-translate"></a>cairo_matrix_translate ()</h3>
355
+ <a class="indexterm" name="id2675310"></a><pre class="programlisting">void cairo_matrix_translate (<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
356
+ double tx,
357
+ double ty);</pre>
358
+ <p>
359
+ Applies a translation by <em class="parameter"><code>tx</code></em>, <em class="parameter"><code>ty</code></em> to the transformation in
360
+ <em class="parameter"><code>matrix</code></em>. The effect of the new transformation is to first translate
361
+ the coordinates by <em class="parameter"><code>tx</code></em> and <em class="parameter"><code>ty</code></em>, then apply the original transformation
362
+ to the coordinates.</p>
363
+ <p>
364
+
365
+ </p>
366
+ <div class="variablelist"><table border="0">
367
+ <col align="left" valign="top">
368
+ <tbody>
369
+ <tr>
370
+ <td><p><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></p></td>
371
+ <td> a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t"><span class="type">cairo_matrix_t</span></a>
372
+ </td>
373
+ </tr>
374
+ <tr>
375
+ <td><p><span class="term"><em class="parameter"><code>tx</code></em>&#160;:</span></p></td>
376
+ <td> amount to translate in the X direction
377
+ </td>
378
+ </tr>
379
+ <tr>
380
+ <td><p><span class="term"><em class="parameter"><code>ty</code></em>&#160;:</span></p></td>
381
+ <td> amount to translate in the Y direction
382
+ </td>
383
+ </tr>
384
+ </tbody>
385
+ </table></div>
386
+ </div>
387
+ <hr>
388
+ <div class="refsect2" lang="en">
389
+ <a name="id2675442"></a><h3>
390
+ <a name="cairo-matrix-scale"></a>cairo_matrix_scale ()</h3>
391
+ <a class="indexterm" name="id2675455"></a><pre class="programlisting">void cairo_matrix_scale (<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
392
+ double sx,
393
+ double sy);</pre>
394
+ <p>
395
+ 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
396
+ effect of the new transformation is to first scale the coordinates
397
+ 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>
398
+ <p>
399
+
400
+ </p>
401
+ <div class="variablelist"><table border="0">
402
+ <col align="left" valign="top">
403
+ <tbody>
404
+ <tr>
405
+ <td><p><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></p></td>
406
+ <td> a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t"><span class="type">cairo_matrix_t</span></a>
407
+ </td>
408
+ </tr>
409
+ <tr>
410
+ <td><p><span class="term"><em class="parameter"><code>sx</code></em>&#160;:</span></p></td>
411
+ <td> scale factor in the X direction
412
+ </td>
413
+ </tr>
414
+ <tr>
415
+ <td><p><span class="term"><em class="parameter"><code>sy</code></em>&#160;:</span></p></td>
416
+ <td> scale factor in the Y direction
417
+ </td>
418
+ </tr>
419
+ </tbody>
420
+ </table></div>
421
+ </div>
422
+ <hr>
423
+ <div class="refsect2" lang="en">
424
+ <a name="id2675585"></a><h3>
425
+ <a name="cairo-matrix-rotate"></a>cairo_matrix_rotate ()</h3>
426
+ <a class="indexterm" name="id2675598"></a><pre class="programlisting">void cairo_matrix_rotate (<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
427
+ double radians);</pre>
428
+ <p>
429
+ Applies rotation by <em class="parameter"><code>radians</code></em> to the transformation in
430
+ <em class="parameter"><code>matrix</code></em>. The effect of the new transformation is to first rotate the
431
+ coordinates by <em class="parameter"><code>radians</code></em>, then apply the original transformation
432
+ to the coordinates.</p>
433
+ <p>
434
+
435
+ </p>
436
+ <div class="variablelist"><table border="0">
437
+ <col align="left" valign="top">
438
+ <tbody>
439
+ <tr>
440
+ <td><p><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></p></td>
441
+ <td> a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t"><span class="type">cairo_matrix_t</span></a>
442
+ </td>
443
+ </tr>
444
+ <tr>
445
+ <td><p><span class="term"><em class="parameter"><code>radians</code></em>&#160;:</span></p></td>
446
+ <td> angle of rotation, in radians. The direction of rotation
447
+ is defined such that positive angles rotate in the direction from
448
+ the positive X axis toward the positive Y axis. With the default
449
+ axis orientation of cairo, positive angles rotate in a clockwise
450
+ direction.
451
+ </td>
452
+ </tr>
453
+ </tbody>
454
+ </table></div>
455
+ </div>
456
+ <hr>
457
+ <div class="refsect2" lang="en">
458
+ <a name="id2675700"></a><h3>
459
+ <a name="cairo-matrix-invert"></a>cairo_matrix_invert ()</h3>
460
+ <a class="indexterm" name="id2675712"></a><pre class="programlisting"><a class="link" href="cairo-Error-Handling.html#cairo-status-t">cairo_status_t</a> cairo_matrix_invert (<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix);</pre>
461
+ <p>
462
+ Changes <em class="parameter"><code>matrix</code></em> to be the inverse of it's original value. Not
463
+ all transformation matrices have inverses; if the matrix
464
+ collapses points together (it is <em class="firstterm">degenerate</em>),
465
+ then it has no inverse and this function will fail.</p>
466
+ <p>
467
+
468
+ </p>
469
+ <div class="variablelist"><table border="0">
470
+ <col align="left" valign="top">
471
+ <tbody>
472
+ <tr>
473
+ <td><p><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></p></td>
474
+ <td> a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t"><span class="type">cairo_matrix_t</span></a>
475
+ </td>
476
+ </tr>
477
+ <tr>
478
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
479
+ <td> If <em class="parameter"><code>matrix</code></em> has an inverse, modifies <em class="parameter"><code>matrix</code></em> to
480
+ 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,
481
+ returns <a class="link" href="cairo-Error-Handling.html#CAIRO-STATUS-INVALID-MATRIX:CAPS"><code class="literal">CAIRO_STATUS_INVALID_MATRIX</code></a>.
482
+ </td>
483
+ </tr>
484
+ </tbody>
485
+ </table></div>
486
+ </div>
487
+ <hr>
488
+ <div class="refsect2" lang="en">
489
+ <a name="id2675822"></a><h3>
490
+ <a name="cairo-matrix-multiply"></a>cairo_matrix_multiply ()</h3>
491
+ <a class="indexterm" name="id2675833"></a><pre class="programlisting">void cairo_matrix_multiply (<a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *result,
492
+ const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *a,
493
+ const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *b);</pre>
494
+ <p>
495
+ Multiplies the affine transformations in <em class="parameter"><code>a</code></em> and <em class="parameter"><code>b</code></em> together
496
+ and stores the result in <em class="parameter"><code>result</code></em>. The effect of the resulting
497
+ transformation is to first apply the transformation in <em class="parameter"><code>a</code></em> to the
498
+ coordinates and then apply the transformation in <em class="parameter"><code>b</code></em> to the
499
+ coordinates.
500
+ </p>
501
+ <p>
502
+ 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>
503
+ <p>
504
+
505
+ </p>
506
+ <div class="variablelist"><table border="0">
507
+ <col align="left" valign="top">
508
+ <tbody>
509
+ <tr>
510
+ <td><p><span class="term"><em class="parameter"><code>result</code></em>&#160;:</span></p></td>
511
+ <td> a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t"><span class="type">cairo_matrix_t</span></a> in which to store the result
512
+ </td>
513
+ </tr>
514
+ <tr>
515
+ <td><p><span class="term"><em class="parameter"><code>a</code></em>&#160;:</span></p></td>
516
+ <td> a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t"><span class="type">cairo_matrix_t</span></a>
517
+ </td>
518
+ </tr>
519
+ <tr>
520
+ <td><p><span class="term"><em class="parameter"><code>b</code></em>&#160;:</span></p></td>
521
+ <td> a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t"><span class="type">cairo_matrix_t</span></a>
522
+ </td>
523
+ </tr>
524
+ </tbody>
525
+ </table></div>
526
+ </div>
527
+ <hr>
528
+ <div class="refsect2" lang="en">
529
+ <a name="id2676001"></a><h3>
530
+ <a name="cairo-matrix-transform-distance"></a>cairo_matrix_transform_distance ()</h3>
531
+ <a class="indexterm" name="id2676014"></a><pre class="programlisting">void cairo_matrix_transform_distance (const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
532
+ double *dx,
533
+ double *dy);</pre>
534
+ <p>
535
+ 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
536
+ similar to <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-transform-point"><code class="function">cairo_matrix_transform_point()</code></a> except that the translation
537
+ components of the transformation are ignored. The calculation of
538
+ the returned vector is as follows:
539
+ </p>
540
+ <p>
541
+ </p>
542
+ <pre class="programlisting">
543
+ dx2 = dx1 * a + dy1 * c;
544
+ dy2 = dx1 * b + dy1 * d;
545
+ </pre>
546
+ <p>
547
+ </p>
548
+ <p>
549
+ Affine transformations are position invariant, so the same vector
550
+ always transforms to the same vector. If (<em class="parameter"><code>x1</code></em>,<em class="parameter"><code>y1</code></em>) transforms
551
+ 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
552
+ (<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>
553
+ <p>
554
+
555
+ </p>
556
+ <div class="variablelist"><table border="0">
557
+ <col align="left" valign="top">
558
+ <tbody>
559
+ <tr>
560
+ <td><p><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></p></td>
561
+ <td> a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t"><span class="type">cairo_matrix_t</span></a>
562
+ </td>
563
+ </tr>
564
+ <tr>
565
+ <td><p><span class="term"><em class="parameter"><code>dx</code></em>&#160;:</span></p></td>
566
+ <td> X component of a distance vector. An in/out parameter
567
+ </td>
568
+ </tr>
569
+ <tr>
570
+ <td><p><span class="term"><em class="parameter"><code>dy</code></em>&#160;:</span></p></td>
571
+ <td> Y component of a distance vector. An in/out parameter
572
+ </td>
573
+ </tr>
574
+ </tbody>
575
+ </table></div>
576
+ </div>
577
+ <hr>
578
+ <div class="refsect2" lang="en">
579
+ <a name="id2676208"></a><h3>
580
+ <a name="cairo-matrix-transform-point"></a>cairo_matrix_transform_point ()</h3>
581
+ <a class="indexterm" name="id2676220"></a><pre class="programlisting">void cairo_matrix_transform_point (const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t">cairo_matrix_t</a> *matrix,
582
+ double *x,
583
+ double *y);</pre>
584
+ <p>
585
+ 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>
586
+ <p>
587
+
588
+ </p>
589
+ <div class="variablelist"><table border="0">
590
+ <col align="left" valign="top">
591
+ <tbody>
592
+ <tr>
593
+ <td><p><span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></p></td>
594
+ <td> a <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t"><span class="type">cairo_matrix_t</span></a>
595
+ </td>
596
+ </tr>
597
+ <tr>
598
+ <td><p><span class="term"><em class="parameter"><code>x</code></em>&#160;:</span></p></td>
599
+ <td> X position. An in/out parameter
600
+ </td>
601
+ </tr>
602
+ <tr>
603
+ <td><p><span class="term"><em class="parameter"><code>y</code></em>&#160;:</span></p></td>
604
+ <td> Y position. An in/out parameter
605
+ </td>
606
+ </tr>
607
+ </tbody>
608
+ </table></div>
609
+ </div>
610
+ </div>
611
+ <div class="refsect1" lang="en">
612
+ <a name="id2676327"></a><h2>See Also</h2>
613
+ <p>
614
+ </p>
615
+ <div class="itemizedlist"><ul type="disc"><li><a class="link" href="cairo-cairo-t.html#cairo-t"><span class="type">cairo_t</span></a></li></ul></div>
616
+ <p>
617
+ </p>
618
+ </div>
619
+ <div class="refsect1" lang="en">
620
+ <a name="id2676348"></a><div class="refsect2" lang="en"><a name="id2676349"></a></div>
621
+ <hr>
622
+ <div class="refsect2" lang="en"><a name="id2676350"></a></div>
623
+ </div>
624
+ </div>
625
+ </body>
626
+ </html>