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,51 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
6
+ <head>
7
+ <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
8
+ <title>Cairo::Contentモジュール</title>
9
+ <link href="../doc.css" type="text/css" rel="stylesheet" />
10
+ </head>
11
+ <div class="footer">
12
+ <ul>
13
+ <li><a href="./">索引</a></li>
14
+ </ul>
15
+
16
+ </div>
17
+ </body>
18
+
19
+ <h1><a name="label-0" id="label-0">Cairo::Contentモジュール</a></h1><!-- RDLabel: "Cairo::Contentモジュール" -->
20
+ <p>サーフェスがどんな色情報、アルファ情報(半透明か不透明か)ま
21
+ たは両方をもっている内容を表すために使われます。</p>
22
+ <h2><a name="label-1" id="label-1">定数</a></h2><!-- RDLabel: "定数" -->
23
+ <dl>
24
+ <dt><a name="label-2" id="label-2"><code>ALPHA</code></a></dt><!-- RDLabel: "ALPHA" -->
25
+ <dd>
26
+ サーフェスはアルファの内容だけを持っています。</dd>
27
+ <dt><a name="label-3" id="label-3"><code>COLOR</code></a></dt><!-- RDLabel: "COLOR" -->
28
+ <dd>
29
+ サーフェスは色の内容だけを持っています。</dd>
30
+ <dt><a name="label-4" id="label-4"><code>COLOR_ALPHA</code></a></dt><!-- RDLabel: "COLOR_ALPHA" -->
31
+ <dd>
32
+ サーフェスは色とアルファの内容を持っています。</dd>
33
+ </dl>
34
+ <h2><a name="label-5" id="label-5">参考</a></h2><!-- RDLabel: "参考" -->
35
+ <ul>
36
+ <li><a href="index.html#label-0">索引</a></li>
37
+ </ul>
38
+ <h2><a name="label-6" id="label-6">変更履歴</a></h2><!-- RDLabel: "変更履歴" -->
39
+ <ul>
40
+ <li>2007-05-20: kou: スタート。</li>
41
+ </ul>
42
+
43
+ <div class="footer">
44
+ <ul>
45
+ <li><a href="./">索引</a></li>
46
+ </ul>
47
+
48
+ </div>
49
+ </body>
50
+
51
+ </html>
@@ -0,0 +1,53 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
6
+ <head>
7
+ <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
8
+ <title>Cairo::Context::Blurモジュール</title>
9
+ <link href="../doc.css" type="text/css" rel="stylesheet" />
10
+ </head>
11
+ <div class="footer">
12
+ <ul>
13
+ <li><a href="./">索引</a></li>
14
+ </ul>
15
+
16
+ </div>
17
+ </body>
18
+
19
+ <h1><a name="label-0" id="label-0">Cairo::Context::Blurモジュール</a></h1><!-- RDLabel: "Cairo::Context::Blurモジュール" -->
20
+ <p><em>Since 1.5?</em>: 実験的な「ぼかし」効果の実装です。APIは変更
21
+ される可能性があります。</p>
22
+ <p>cairoにはないrcairoでの拡張です。</p>
23
+ <h2><a name="label-1" id="label-1">インタンスメソッド</a></h2><!-- RDLabel: "インタンスメソッド" -->
24
+ <dl>
25
+ <dt><a name="label-2" id="label-2"><code>pseudo_blur(<var>radius</var>=<var>3</var>) {|<var>self</var>| ...}</code></a></dt><!-- RDLabel: "pseudo_blur" -->
26
+ <dd>
27
+ ブロック内で描画した内容に対して「ぼかし」効果を適用しま
28
+ す。一般的なガウス分布を使ったものではなく、描画内容にア
29
+ ルファ値を加えたものを少しずつ動かして色を混ぜることによ
30
+ りぼかします。遅いです。
31
+ <ul>
32
+ <li>radius: ユーザ空間でどのくらいの半径の範囲で動かすか</li>
33
+ </ul></dd>
34
+ </dl>
35
+ <h2><a name="label-3" id="label-3">参考</a></h2><!-- RDLabel: "参考" -->
36
+ <ul>
37
+ <li><a href="cairo-context.html">Cairo::Context</a></li>
38
+ <li><a href="index.html#label-0">索引</a></li>
39
+ </ul>
40
+ <h2><a name="label-4" id="label-4">変更履歴</a></h2><!-- RDLabel: "変更履歴" -->
41
+ <ul>
42
+ <li>2007-04-30: kou: スタート。</li>
43
+ </ul>
44
+
45
+ <div class="footer">
46
+ <ul>
47
+ <li><a href="./">索引</a></li>
48
+ </ul>
49
+
50
+ </div>
51
+ </body>
52
+
53
+ </html>
@@ -0,0 +1,54 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
6
+ <head>
7
+ <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
8
+ <title>Cairo::Context::Circleモジュール</title>
9
+ <link href="../doc.css" type="text/css" rel="stylesheet" />
10
+ </head>
11
+ <div class="footer">
12
+ <ul>
13
+ <li><a href="./">索引</a></li>
14
+ </ul>
15
+
16
+ </div>
17
+ </body>
18
+
19
+ <h1><a name="label-0" id="label-0">Cairo::Context::Circleモジュール</a></h1><!-- RDLabel: "Cairo::Context::Circleモジュール" -->
20
+ <p>円に関する便利なメソッドを<a href="cairo-context.html">Cairo::Context</a>に提供するモ
21
+ ジュールです。</p>
22
+ <p>cairoにはないrcairoでの拡張です。</p>
23
+ <h2><a name="label-1" id="label-1">インタンスメソッド</a></h2><!-- RDLabel: "インタンスメソッド" -->
24
+ <dl>
25
+ <dt><a name="label-2" id="label-2"><code>circle(<var>center_x</var>, <var>center_y</var>, <var>radius</var>)</code></a></dt><!-- RDLabel: "circle" -->
26
+ <dd>
27
+ <p>現在のパスに円を追加します。以下のように
28
+ <a href="cairo-context.html#label-10">Cairo::Context#arc</a>を呼び出したのと同じです。</p>
29
+ <pre>context.arc(center_x, center_y, radius, 0, 2 * Math::PI)</pre>
30
+ <ul>
31
+ <li>center_x: 円の中心のx座標</li>
32
+ <li>center_y: 円の中心のy座標</li>
33
+ <li>radius: 円の半径</li>
34
+ </ul></dd>
35
+ </dl>
36
+ <h2><a name="label-3" id="label-3">参考</a></h2><!-- RDLabel: "参考" -->
37
+ <ul>
38
+ <li><a href="cairo-context.html">Cairo::Context</a></li>
39
+ <li><a href="index.html#label-0">索引</a></li>
40
+ </ul>
41
+ <h2><a name="label-4" id="label-4">変更履歴</a></h2><!-- RDLabel: "変更履歴" -->
42
+ <ul>
43
+ <li>2007-04-30: kou: スタート。</li>
44
+ </ul>
45
+
46
+ <div class="footer">
47
+ <ul>
48
+ <li><a href="./">索引</a></li>
49
+ </ul>
50
+
51
+ </div>
52
+ </body>
53
+
54
+ </html>
@@ -0,0 +1,52 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
6
+ <head>
7
+ <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
8
+ <title>Cairo::Context::Colorモジュール</title>
9
+ <link href="../doc.css" type="text/css" rel="stylesheet" />
10
+ </head>
11
+ <div class="footer">
12
+ <ul>
13
+ <li><a href="./">索引</a></li>
14
+ </ul>
15
+
16
+ </div>
17
+ </body>
18
+
19
+ <h1><a name="label-0" id="label-0">Cairo::Context::Colorモジュール</a></h1><!-- RDLabel: "Cairo::Context::Colorモジュール" -->
20
+ <p>色に関する便利なメソッドを<a href="cairo-context.html">Cairo::Context</a>に提供するモ
21
+ ジュールです。</p>
22
+ <p>cairoにはないrcairoでの拡張です。</p>
23
+ <h2><a name="label-1" id="label-1">インタンスメソッド</a></h2><!-- RDLabel: "インタンスメソッド" -->
24
+ <dl>
25
+ <dt><a name="label-2" id="label-2"><code>set_source_color(<var>color</var>)</code></a></dt><!-- RDLabel: "set_source_color" -->
26
+ <dd>
27
+ ソースの色を<var>color</var>にします。
28
+ <a href="cairo-context.html#label-105">Cairo::Context#set_source_rgba</a>よりも便利です。
29
+ <ul>
30
+ <li>color: <a href="cairo-color.html#label-3">Cairo::Color.parse</a>でパースできるオブジェ
31
+ クト</li>
32
+ </ul></dd>
33
+ </dl>
34
+ <h2><a name="label-3" id="label-3">参考</a></h2><!-- RDLabel: "参考" -->
35
+ <ul>
36
+ <li><a href="cairo-context.html">Cairo::Context</a></li>
37
+ <li><a href="index.html#label-0">索引</a></li>
38
+ </ul>
39
+ <h2><a name="label-4" id="label-4">変更履歴</a></h2><!-- RDLabel: "変更履歴" -->
40
+ <ul>
41
+ <li>2007-04-30: kou: スタート。</li>
42
+ </ul>
43
+
44
+ <div class="footer">
45
+ <ul>
46
+ <li><a href="./">索引</a></li>
47
+ </ul>
48
+
49
+ </div>
50
+ </body>
51
+
52
+ </html>
@@ -0,0 +1,77 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
6
+ <head>
7
+ <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
8
+ <title>Cairo::Context::Pathモジュール</title>
9
+ <link href="../doc.css" type="text/css" rel="stylesheet" />
10
+ </head>
11
+ <div class="footer">
12
+ <ul>
13
+ <li><a href="./">索引</a></li>
14
+ </ul>
15
+
16
+ </div>
17
+ </body>
18
+
19
+ <h1><a name="label-0" id="label-0">Cairo::Context::Pathモジュール</a></h1><!-- RDLabel: "Cairo::Context::Pathモジュール" -->
20
+ <p>パスに関する便利なメソッドを<a href="cairo-context.html">Cairo::Context</a>に提供するモ
21
+ ジュールです。実験的なものでAPIは変更される可能性があります。</p>
22
+ <p>cairoにはないrcairoでの拡張です。</p>
23
+ <h2><a name="label-1" id="label-1">インタンスメソッド</a></h2><!-- RDLabel: "インタンスメソッド" -->
24
+ <dl>
25
+ <dt><a name="label-2" id="label-2"><code>map_path_onto(<var>path</var>)</code></a></dt><!-- RDLabel: "map_path_onto" -->
26
+ <dd>
27
+ <p>コンテキストが持っているパスを<var>path</var>の上に配置しま
28
+ す。以下のようにすると円上にテキストを配置することがで
29
+ きます。</p>
30
+ <pre>cr.circle(100, 100, 50)
31
+ cr.set_source_color(:blue)
32
+ cr.stroke_preserve
33
+ circle_path = cr.copy_path_flat
34
+
35
+ cr.new_path
36
+ # cr.move_to(100, 0) # 円上を時計周りに100移動
37
+ cr.text_path("ABCDE")
38
+ cr.map_path_onto(circle_path)
39
+ cr.set_source_color(:red)
40
+ cr.fill</pre></dd>
41
+ <dt><a name="label-3" id="label-3"><code>transform_path(<var>path</var>) {|<var>x</var>, <var>y</var>| ...}</code></a></dt><!-- RDLabel: "transform_path" -->
42
+ <dd>
43
+ <p><var>path</var>の各点をブロックで変換します。Array#collectの
44
+ ようなものです。以下は、パスを縦横それぞれ2倍の大きさに
45
+ する実用的ではない例です。(こういうときは
46
+ <a href="cairo-context.html#label-97">Cairo::Context#scale</a>を使いましょう。)</p>
47
+ <pre>transformed_path = cr.transform_path(cr.copy_path) do |x, y|
48
+ [x * 2, y * 2]
49
+ end
50
+ cr.new_path
51
+ cr.append_path(transformed_path)</pre>
52
+ <ul>
53
+ <li>path: 変換対象のパス</li>
54
+ <li>x: 点のx座標</li>
55
+ <li>y: 点のy座標</li>
56
+ <li>Returns: 変換されたパス</li>
57
+ </ul></dd>
58
+ </dl>
59
+ <h2><a name="label-4" id="label-4">参考</a></h2><!-- RDLabel: "参考" -->
60
+ <ul>
61
+ <li><a href="cairo-context.html">Cairo::Context</a></li>
62
+ <li><a href="index.html#label-0">索引</a></li>
63
+ </ul>
64
+ <h2><a name="label-5" id="label-5">変更履歴</a></h2><!-- RDLabel: "変更履歴" -->
65
+ <ul>
66
+ <li>2007-04-30: kou: スタート。</li>
67
+ </ul>
68
+
69
+ <div class="footer">
70
+ <ul>
71
+ <li><a href="./">索引</a></li>
72
+ </ul>
73
+
74
+ </div>
75
+ </body>
76
+
77
+ </html>
@@ -0,0 +1,60 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
6
+ <head>
7
+ <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
8
+ <title>Cairo::Context::Rectangleモジュール</title>
9
+ <link href="../doc.css" type="text/css" rel="stylesheet" />
10
+ </head>
11
+ <div class="footer">
12
+ <ul>
13
+ <li><a href="./">索引</a></li>
14
+ </ul>
15
+
16
+ </div>
17
+ </body>
18
+
19
+ <h1><a name="label-0" id="label-0">Cairo::Context::Rectangleモジュール</a></h1><!-- RDLabel: "Cairo::Context::Rectangleモジュール" -->
20
+ <p>四角いパスに関する便利なメソッドを<a href="cairo-context.html">Cairo::Context</a>に提供
21
+ するモジュールです。</p>
22
+ <p>cairoにはないrcairoでの拡張です。</p>
23
+ <h2><a name="label-1" id="label-1">インタンスメソッド</a></h2><!-- RDLabel: "インタンスメソッド" -->
24
+ <dl>
25
+ <dt><a name="label-2" id="label-2"><code>rounded_rectangle(<var>x</var>, <var>y</var>, <var>width</var>, <var>height</var>, <var>x_radius</var>, <var>y_radius</var>=<var>nil</var>)</code></a></dt><!-- RDLabel: "rounded_rectangle" -->
26
+ <dd>
27
+ 角の丸い四角いパスを追加します。角の丸みは
28
+ <var>x_radius</var>と<var>y_radius</var>で決まります。
29
+ <var>x_radius</var>は横方向の角の丸の半径になり、
30
+ <var>y_radius</var>は縦方向の角の丸の半径になります。
31
+ <var>y_radius</var>を省略した場合は<var>x_radius</var>と同じ値を
32
+ 用います。
33
+ <ul>
34
+ <li>x: 角が丸くないときの四角の左上の角の点のx座標</li>
35
+ <li>y: 角が丸くないときの四角の左上の角の点のy座標</li>
36
+ <li>width: 四角の幅</li>
37
+ <li>height: 四角の高さ</li>
38
+ <li>x_radius: 角の丸の横方向の半径</li>
39
+ <li>y_radius: 角の丸の縦方向の半径</li>
40
+ </ul></dd>
41
+ </dl>
42
+ <h2><a name="label-3" id="label-3">参考</a></h2><!-- RDLabel: "参考" -->
43
+ <ul>
44
+ <li><a href="cairo-context.html">Cairo::Context</a></li>
45
+ <li><a href="index.html#label-0">索引</a></li>
46
+ </ul>
47
+ <h2><a name="label-4" id="label-4">変更履歴</a></h2><!-- RDLabel: "変更履歴" -->
48
+ <ul>
49
+ <li>2007-04-30: kou: スタート。</li>
50
+ </ul>
51
+
52
+ <div class="footer">
53
+ <ul>
54
+ <li><a href="./">索引</a></li>
55
+ </ul>
56
+
57
+ </div>
58
+ </body>
59
+
60
+ </html>
@@ -0,0 +1,47 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
6
+ <head>
7
+ <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
8
+ <title>Cairo::Context::Triangleモジュール</title>
9
+ <link href="../doc.css" type="text/css" rel="stylesheet" />
10
+ </head>
11
+ <div class="footer">
12
+ <ul>
13
+ <li><a href="./">索引</a></li>
14
+ </ul>
15
+
16
+ </div>
17
+ </body>
18
+
19
+ <h1><a name="label-0" id="label-0">Cairo::Context::Triangleモジュール</a></h1><!-- RDLabel: "Cairo::Context::Triangleモジュール" -->
20
+ <p>三角形を描画する便利なメソッドを<a href="cairo-context.html">Cairo::Context</a>に提供するモ
21
+ ジュールです。</p>
22
+ <h2><a name="label-1" id="label-1">インタンスメソッド</a></h2><!-- RDLabel: "インタンスメソッド" -->
23
+ <dl>
24
+ <dt><a name="label-2" id="label-2"><code>triangle(<var>x1</var>, <var>y1</var>, <var>x2</var>, <var>y2</var>, <var>x3</var>, <var>y3</var>)</code></a></dt><!-- RDLabel: "triangle" -->
25
+ <dd>
26
+ 頂点(x1, y1)、(x2, y2)、(x3, y3)を持つ三角形のパスを作
27
+ 成します。</dd>
28
+ </dl>
29
+ <h2><a name="label-3" id="label-3">参考</a></h2><!-- RDLabel: "参考" -->
30
+ <ul>
31
+ <li><a href="cairo-context.html">Cairo::Context</a></li>
32
+ <li><a href="index.html#label-0">索引</a></li>
33
+ </ul>
34
+ <h2><a name="label-4" id="label-4">変更履歴</a></h2><!-- RDLabel: "変更履歴" -->
35
+ <ul>
36
+ <li>2008-01-11: kou: スタート。</li>
37
+ </ul>
38
+
39
+ <div class="footer">
40
+ <ul>
41
+ <li><a href="./">索引</a></li>
42
+ </ul>
43
+
44
+ </div>
45
+ </body>
46
+
47
+ </html>
@@ -0,0 +1,1449 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
6
+ <head>
7
+ <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
8
+ <title>Cairo::Contextクラス</title>
9
+ <link href="../doc.css" type="text/css" rel="stylesheet" />
10
+ </head>
11
+ <div class="footer">
12
+ <ul>
13
+ <li><a href="./">索引</a></li>
14
+ </ul>
15
+
16
+ </div>
17
+ </body>
18
+
19
+ <h1><a name="label-0" id="label-0">Cairo::Contextクラス</a></h1><!-- RDLabel: "Cairo::Contextクラス" -->
20
+ <p><a href="cairo-context.html">Cairo::Context</a>はrcairoで描画するときに使用する主要なオブジェ
21
+ クトです。rcairoで描画するためには、まず、描画対象となるサー
22
+ フェスを設定した<a href="cairo-context.html">Cairo::Context</a>を作ります。それから、描画オプ
23
+ ションを設定し、<a href="cairo-context.html#label-75">Cairo::Context#move_to</a>、
24
+ <a href="cairo-context.html#label-63">Cairo::Context#line_to</a>などで形を作り、その形を
25
+ <a href="cairo-context.html#label-111">Cairo::Context#stroke</a>か<a href="cairo-context.html#label-29">Cairo::Context#fill</a>で描画
26
+ します。</p>
27
+ <p><a href="cairo-context.html">Cairo::Context</a>の持っている描画情報は
28
+ <a href="cairo-context.html#label-95">Cairo::Context#save</a>でスタックに積むことができます。そ
29
+ のため、現在の状態を失うことなく描画情報を安全に変更できます。
30
+ <a href="cairo-context.html#label-93">Cairo::Context#restore</a>を呼べば保存した状態を復元するこ
31
+ とができます。</p>
32
+ <pre>context.save
33
+ ...
34
+ context.restore</pre>
35
+ <p>よりRubyらしく書くなら、ブロックつきで
36
+ <a href="cairo-context.html#label-95">Cairo::Context#save</a>を使用します。</p>
37
+ <pre>context.save do
38
+ ...
39
+ end</pre>
40
+ <p>この場合は、ブロックを抜けた時点で自動的に
41
+ <a href="cairo-context.html#label-93">Cairo::Context#restore</a>が呼び出されます。</p>
42
+ <p><a href="cairo-context.html">Cairo::Context</a>には、いくつかrcairoが拡張している機能もありま
43
+ す。</p>
44
+ <h2><a name="label-1" id="label-1">オブジェクト階層</a></h2><!-- RDLabel: "オブジェクト階層" -->
45
+ <ul>
46
+ <li>Object
47
+ <ul>
48
+ <li>Cairo::Context</li>
49
+ </ul></li>
50
+ </ul>
51
+ <h2><a name="label-2" id="label-2">includeしているモジュール</a></h2><!-- RDLabel: "includeしているモジュール" -->
52
+ <ul>
53
+ <li><a href="cairo-context-blur.html">Cairo::Context::Blur</a></li>
54
+ <li><a href="cairo-context-circle.html">Cairo::Context::Circle</a></li>
55
+ <li><a href="cairo-context-color.html">Cairo::Context::Color</a></li>
56
+ <li><a href="cairo-context-path.html">Cairo::Context::Path</a></li>
57
+ <li><a href="cairo-context-rectangle.html">Cairo::Context::Rectangle</a></li>
58
+ <li><a href="cairo-context-triangle.html">Cairo::Context::Triangle</a></li>
59
+ </ul>
60
+ <h2><a name="label-3" id="label-3">クラスメソッド</a></h2><!-- RDLabel: "クラスメソッド" -->
61
+ <dl>
62
+ <dt><a name="label-4" id="label-4"><code>Cairo::Context.new(<var>target</var>)</code></a></dt><!-- RDLabel: "Cairo::Context.new" -->
63
+ <dd>
64
+ 全ての状態がデフォルト値に設定され、描画対象のサーフェス
65
+ が<var>target</var>に設定された新しい<a href="cairo-context.html">Cairo::Context</a>を作
66
+ 成します。描画対象のサーフェスはバックエンド依存の方法で
67
+ 作成します。例えば、画像用のサーフェスは
68
+ <a href="cairo-image-surface.html#label-5">Cairo::ImageSurface.new</a>で作成し、PDF用のサーフェス
69
+ は<a href="cairo-pdf-surface.html#label-3">Cairo::PDFSurface.new</a>で作成します。
70
+ <ul>
71
+ <li>target: 描画対象のサーフェス
72
+ (<a href="cairo-image-surface.html">Cairo::ImageSurface</a>など)</li>
73
+ <li>Returns: <a href="cairo-context.html">Cairo::Context</a></li>
74
+ </ul></dd>
75
+ </dl>
76
+ <h2><a name="label-5" id="label-5">インタンスメソッド</a></h2><!-- RDLabel: "インタンスメソッド" -->
77
+ <dl>
78
+ <dt><a name="label-6" id="label-6"><code>antialias</code></a></dt><!-- RDLabel: "antialias" -->
79
+ <dd>
80
+ 現在設定されている、形状に対するアンチエイリアスのモード
81
+ を返します。これは<a href="cairo-context.html#label-7">Cairo::Context#antialias=</a>で設定で
82
+ きます。
83
+ <ul>
84
+ <li>Returns: <a href="cairo-antialias.html">Cairo::Antialias</a>に定義されている定数のどれか。</li>
85
+ </ul></dd>
86
+ <dt><a name="label-7" id="label-7"><code>antialias=(<var>antialias</var>)</code></a></dt><!-- RDLabel: "antialias=" -->
87
+ <dt><a name="label-8" id="label-8"><code>set_antialias(<var>antialias</var>)</code></a></dt><!-- RDLabel: "set_antialias" -->
88
+ <dd>
89
+ <p>形状を描画するために使われるラスタライザ(cairoで使われ
90
+ ているベクタベースの描画情報をラスタ(画素)ベースの描画
91
+ 情報に変換する機能)のアンチエイリアスのモードを設定しま
92
+ す。この値はヒントとして使われます。あるバックエンドでは
93
+ ある値をサポートしているかもしれませんが、別のバックエン
94
+ ドではその値をサポートしていないかもしれません。現在のと
95
+ ころ、どのバックエンドも<a href="cairo-antialias.html#label-5">Cairo::Antialias::SUBPIXEL</a>
96
+ をサポートしていません。</p>
97
+ <p>このオプションはテキストのレンダリングには影響を与えない
98
+ ことに注意してください。テキストのレンダリングには代わり
99
+ に<a href="cairo-font-options.html#label-6">Cairo::FontOptions#antialias=</a>を見てください。</p>
100
+ <ul>
101
+ <li>antialias: :defaultや:noneなど<a href="cairo-antialias.html">Cairo::Antialias</a>に定義
102
+ されている定数名と同じもの。大文字小文字は関
103
+ 係ありません。また、シンボルではなくて文字列で
104
+ "default"のように指定することもできます。もちろん、
105
+ <a href="cairo-antialias.html">Cairo::Antialias</a>に定義されている定数を指定するこ
106
+ ともできます。</li>
107
+ </ul></dd>
108
+ <dt><a name="label-9" id="label-9"><code>append_path(<var>path</var>)</code></a></dt><!-- RDLabel: "append_path" -->
109
+ <dd>
110
+ <var>path</var>を現在のパス上に追加します。<var>path</var>は
111
+ <a href="cairo-context.html#label-21">Cairo::Context#copy_path</a>または
112
+ <a href="cairo-context.html#label-22">Cairo::Context#copy_path_flat</a>で取得します。あるい
113
+ は、<a href="cairo-path.html#label-4">Cairo::Path.new</a>で一から作成することもできます。
114
+ <ul>
115
+ <li>path: <a href="cairo-path.html">Cairo::Path</a>オブジェクト</li>
116
+ </ul></dd>
117
+ <dt><a name="label-10" id="label-10"><code>arc(<var>center_x</var>, <var>center_y</var>, <var>radius</var>, <var>angle1</var>, <var>angle2</var>)</code></a></dt><!-- RDLabel: "arc" -->
118
+ <dd>
119
+ <p>現在のパス上に指定された半径の円弧を追加します。円弧の
120
+ 中心は(<var>center_x</var>, <var>center_y</var>)で、角度
121
+ <var>angle1</var>からはじまり、角度が増える方向に
122
+ <var>angle2</var>まで進みます。もし<var>angle2</var>が
123
+ <var>angle1</var>よりも小さい場合は<var>angle1</var>より大きくな
124
+ るまで<code>2 * Math::PI</code>を足します。</p>
125
+ <p>もし現在の点があるなら、最初の線分は現在の点と円弧の開
126
+ 始点がつながるようにパスに追加されます。</p>
127
+ <p>角度の単位はラジアンです。角度0.0は(ユーザ空間で)正の
128
+ X軸方向になります。角度<code>Math::PI / 2</code>(90度)は(ユー
129
+ ザ空間で)正のY軸方向になります。角度は(ユーザ空間で)
130
+ 正のX軸方向から正のY軸方向に増加します。つまり、デフォル
131
+ トの変換行列では角度は時計回り方向に増加します。</p>
132
+ <p>(度数をラジアンに変換するには<code>度数 * (Math::PI /
133
+ 180)</code>を使ってください。)</p>
134
+ <p>このメソッドは角度が増加する方向の円弧を描きます。角度
135
+ が減少する方向の円弧を描きたい場合は
136
+ <a href="cairo-context.html#label-11">Cairo::Context#arc_negative</a>を見てください。</p>
137
+ <p>円弧はユーザ空間の円になります。楕円を描くためにはX方向
138
+ とY方向の値が異なった変換行列で拡大・縮小してください。
139
+ 例えば、<var>x</var>, <var>y</var>, <var>width</var>, <var>height</var>の箱
140
+ の中に楕円を描く場合は以下のようになります。</p>
141
+ <pre>context.save do
142
+ context.translate(x + width / 2.0, y + height / 2.0)
143
+ context.scale(width / 2.0, height / 2.0)
144
+ context.arc(0.0, 0.0, 1.0, 0.0, 2 * Math::PI)
145
+ end</pre>
146
+ <ul>
147
+ <li>center_x: 円弧の中心のX座標</li>
148
+ <li>center_y: 円弧の中心のY座標</li>
149
+ <li>radius: 円弧の半径</li>
150
+ <li>angle1: 開始角度(ラジアン)</li>
151
+ <li>angle2: 終端角度(ラジアン)</li>
152
+ </ul></dd>
153
+ <dt><a name="label-11" id="label-11"><code>arc_negative(<var>center_x</var>, <var>center_y</var>, <var>radius</var>, <var>angle1</var>, <var>angle2</var>)</code></a></dt><!-- RDLabel: "arc_negative" -->
154
+ <dd>
155
+ <p>現在のパス上に指定された半径の円弧を追加します。円弧の
156
+ 中心は(<var>center_x</var>, <var>center_y</var>)で、角度
157
+ <var>angle1</var>からはじまり、角度が減る方向に
158
+ <var>angle2</var>まで進みます。もし<var>angle2</var>が
159
+ <var>angle1</var>よりも大きい場合は<var>angle1</var>より小さくな
160
+ るまで<code>2 * Math::PI</code>を引きます。</p>
161
+ <p>詳しくは<a href="cairo-context.html#label-10">Cairo::Context#arc</a>を見てください。このメソッド
162
+ との違いはふたつの角度の間にある円弧の方向だけです。</p>
163
+ <ul>
164
+ <li>center_x: 円弧の中心のX座標</li>
165
+ <li>center_y: 円弧の中心のY座標</li>
166
+ <li>radius: 円弧の半径</li>
167
+ <li>angle1: 開始角度(ラジアン)</li>
168
+ <li>angle2: 終端角度(ラジアン)</li>
169
+ </ul></dd>
170
+ <dt><a name="label-12" id="label-12"><code>circle(<var>center_x</var>, <var>center_y</var>, <var>radius</var>)</code></a></dt><!-- RDLabel: "circle" -->
171
+ <dd>
172
+ <a href="cairo-context-circle.html#label-2">Cairo::Context::Circle#circle</a>を見てください。</dd>
173
+ <dt><a name="label-13" id="label-13"><code>clip(<var>preserve</var>=<var>false</var>)</code></a></dt><!-- RDLabel: "clip" -->
174
+ <dt><a name="label-14" id="label-14"><code>clip(<var>preserve</var>=<var>false</var>) {|<var>self</var>| ...}</code></a></dt><!-- RDLabel: "clip" -->
175
+ <dd>
176
+ <p>現在の切り取り範囲と現在のパスから作る範囲の両方に含まれ
177
+ ている範囲が新しい切り取り範囲になります(intersect、交
178
+ 差)。現在のパスの範囲は、現在の塗りつぶし規則
179
+ (<a href="cairo-context.html#label-36">Cairo::Context#set_fill_rule</a>を見てください)にしたがっ
180
+ て<a href="cairo-context.html#label-29">Cairo::Context#fill</a>で塗りつぶされる箇所になります。</p>
181
+ <p><var>preserve</var>が偽の場合、<a href="cairo-context.html#label-13">Cairo::Context#clip</a>のあとは、
182
+ コンテキストから現在のパスは消去されます。</p>
183
+ <p>現在の切り取り範囲は全ての描画操作に影響します。現在の切
184
+ り取り範囲の外にあるサーフェスへの全ての変更は効果的に隠
185
+ されます(マスクされます)。</p>
186
+ <p><a href="cairo-context.html#label-13">Cairo::Context#clip</a>は切り取り範囲を小さくすることしかで
187
+ きません。決して大きくなりません。しかし、現在の切り取り
188
+ 範囲はグラフィック状態の一部なので、<a href="cairo-context.html#label-95">Cairo::Context#save</a>と
189
+ <a href="cairo-context.html#label-93">Cairo::Context#restore</a>の間(あるいは<a href="cairo-context.html#label-95">Cairo::Context#save</a>
190
+ のブロックの中)で<a href="cairo-context.html#label-13">Cairo::Context#clip</a>を呼ぶことで一時的
191
+ に切り取り範囲を制限することができます。これ以外の、切り
192
+ 取り範囲の領域を増やす唯一の方法は
193
+ <a href="cairo-context.html#label-92">Cairo::Context#reset_clip</a>です。</p>
194
+ <p>ブロックを指定した場合は、<a href="cairo-context.html#label-76">Cairo::Context#new_path</a>で新し
195
+ いパスをはじめてからブロックを呼び出します。以下のよう
196
+ に使います。</p>
197
+ <pre>context.clip do
198
+ context.rectangle(20, 20, 40, 40)
199
+ end</pre>
200
+ <p>これは以下と等価です。</p>
201
+ <pre>context.new_path
202
+ context.rectangle(20, 20, 40, 40)
203
+ context.clip</pre>
204
+ <ul>
205
+ <li>preserve: 真の場合はパスを消去しない</li>
206
+ </ul></dd>
207
+ <dt><a name="label-15" id="label-15"><code>clip_extents</code></a></dt><!-- RDLabel: "clip_extents" -->
208
+ <dd>
209
+ 現在の切り取り範囲を含む最小の箱(バウンディングボック
210
+ ス、境界線で作った四角)をユーザ座標で計算します。
211
+ <ul>
212
+ <li>Returns: <code>[x1, y1, x2, y2]</code>
213
+ <ul>
214
+ <li>x1: 切り取り範囲の左</li>
215
+ <li>y1: 切り取り範囲の上</li>
216
+ <li>x2: 切り取り範囲の右</li>
217
+ <li>y2: 切り取り範囲の下</li>
218
+ </ul></li>
219
+ </ul></dd>
220
+ <dt><a name="label-16" id="label-16"><code>clip_preserve</code></a></dt><!-- RDLabel: "clip_preserve" -->
221
+ <dt><a name="label-17" id="label-17"><code>clip_preserve {|<var>self</var>| ...}</code></a></dt><!-- RDLabel: "clip_preserve" -->
222
+ <dd>
223
+ <p><a href="cairo-context.html#label-13">Cairo::Context#clip</a>を以下のように呼び出すことと同じです。</p>
224
+ <pre>context.clip(true)
225
+ context.clip(true) { ... }</pre></dd>
226
+ <dt><a name="label-18" id="label-18"><code>clip_rectangle_list</code></a></dt><!-- RDLabel: "clip_rectangle_list" -->
227
+ <dd>
228
+ <p>現在の切り取り範囲をユーザ座標の四角の配列として返しま
229
+ す。</p>
230
+ <p>切り取り範囲がユーザ座標の四角の配列として表現できない
231
+ 場合は<a href="cairo-clip-not-representable-error.html">Cairo::ClipNotRepresentableError</a>が発生します。</p>
232
+ <ul>
233
+ <li>Returns: ユーザ座標の四角の配列として表現した現在の切
234
+ り取り範囲。<a href="cairo-rectangle.html">Cairo::Rectangle</a>の配列。</li>
235
+ </ul></dd>
236
+ <dt><a name="label-19" id="label-19"><code>close_path</code></a></dt><!-- RDLabel: "close_path" -->
237
+ <dd>
238
+ <p>現在の点から現在のサブパスの最初の点(一番最後に
239
+ <a href="cairo-context.html#label-75">Cairo::Context#move_to</a>に渡した点)までの線分を追加し、
240
+ このサブパスを閉じます。<a href="cairo-context.html#label-19">Cairo::Context#close_path</a>の後は
241
+ 現在の点はサブパスの結合終点(?FIXME: joined endpoint)
242
+ にあります。</p>
243
+ <p>ストロークの場合、<a href="cairo-context.html#label-19">Cairo::Context#close_path</a>の振舞は単純
244
+ に同等の座標(サブパスの最初の点)で
245
+ <a href="cairo-context.html#label-63">Cairo::Context#line_to</a>を呼んだときとは異なります。閉じ
246
+ られたサブパスが描かれるときは、サブパスの最後にはキャッ
247
+ プ(ふた、線分の端の点のこと)はありません。代わりに、サ
248
+ ブパスの最初と最後を結ぶ線の結合があります。</p>
249
+ <p>もし<a href="cairo-context.html">Cairo::Context#close_patb</a>を呼ぶ前に現在の点がない場
250
+ 合は、何も起こりません。</p></dd>
251
+ <dt><a name="label-20" id="label-20"><code>copy_page</code></a></dt><!-- RDLabel: "copy_page" -->
252
+ <dd>
253
+ 複数のページをサポートしているバックエンドのために、現
254
+ 在のページを発行します。しかし、現在のページの内容は消
255
+ 去せずに、次のページのために保持します。発行後は空のペー
256
+ ジにしたい場合は<a href="cairo-context.html#label-108">Cairo::Context#show_page</a>を使ってくださ
257
+ い。</dd>
258
+ <dt><a name="label-21" id="label-21"><code>copy_path</code></a></dt><!-- RDLabel: "copy_path" -->
259
+ <dd>
260
+ <p>現在のパスのコピーを作成し<a href="cairo-path.html">Cairo::Path</a>オブジェクトとして
261
+ 返します。</p>
262
+ <p>以下の場合は例外が発生します。</p>
263
+ <ol>
264
+ <li>パスをコピーするために十分なメモリがない場合は
265
+ NoMemoryError例外が発生します。</li>
266
+ <li>すでに例外が発生したことのある<a href="cairo-context.html">Cairo::Context</a>に対
267
+ して呼び出した場合は、最後に発生した例外と同じ例
268
+ 外が発生します。</li>
269
+ </ol>
270
+ <ul>
271
+ <li>Returns: 現在のパスのコピー。</li>
272
+ </ul></dd>
273
+ <dt><a name="label-22" id="label-22"><code>copy_path_flat</code></a></dt><!-- RDLabel: "copy_path_flat" -->
274
+ <dd>
275
+ <p>平坦にした現在のパスのコピーを作成し<a href="cairo-path.html">Cairo::Path</a>オブジェ
276
+ クトとして返します。</p>
277
+ <p><a href="cairo-context.html#label-21">Cairo::Context#copy_path</a>とほとんど同じです。違いはパス
278
+ 中のすべての曲線が区分的に線形な近似値で近似されること
279
+ です(確実に現在の許容値内にします)。つまり、結果には
280
+ ひとつも<a href="cairo-path.html#label-27">Cairo::Path::CURVE_TO</a>が無いことが保証されます。
281
+ <a href="cairo-path.html#label-27">Cairo::Path::CURVE_TO</a>は<a href="cairo-path.html#label-28">Cairo::Path::LINE_TO</a>に置き換えられ
282
+ ます。</p>
283
+ <ul>
284
+ <li>Returns: 平坦にした現在のパスのコピー。</li>
285
+ </ul></dd>
286
+ <dt><a name="label-23" id="label-23"><code>current_point</code></a></dt><!-- RDLabel: "current_point" -->
287
+ <dd>
288
+ <p>現在のパスの現在の点を返します。概念上はこれまでにパス
289
+ が到達した最後の点になります。</p>
290
+ <p>現在の点はユーザ空間座標システムで返されます。もし、現
291
+ 在の点が定義されていないときは<code>[0, 0]</code>を返します。</p>
292
+ <p>多くのパス構築メソッドは現在の点を変更します。各メソッ
293
+ ドがどのように現在の点に影響を与えるかの詳細は以下を見
294
+ てください。</p>
295
+ <ul>
296
+ <li><a href="cairo-context.html#label-76">Cairo::Context#new_path</a></li>
297
+ <li><a href="cairo-context.html#label-75">Cairo::Context#move_to</a></li>
298
+ <li><a href="cairo-context.html#label-63">Cairo::Context#line_to</a></li>
299
+ <li><a href="cairo-context.html#label-24">Cairo::Context#curve_to</a></li>
300
+ <li><a href="cairo-context.html#label-10">Cairo::Context#arc</a></li>
301
+ <li><a href="cairo-context.html#label-91">Cairo::Context#rel_move_to</a></li>
302
+ <li><a href="cairo-context.html#label-90">Cairo::Context#rel_line_to</a></li>
303
+ <li><a href="cairo-context.html#label-89">Cairo::Context#rel_curve_to</a></li>
304
+ <li><a href="cairo-context.html">Cairo::Context#rel_arc</a></li>
305
+ <li><a href="cairo-context.html#label-118">Cairo::Context#text_path</a></li>
306
+ </ul>
307
+ <ul>
308
+ <li>Returns: <code>[x, y]</code>:
309
+ <ul>
310
+ <li>x: 現在の点のX座標</li>
311
+ <li>y: 現在の点のY座標</li>
312
+ </ul></li>
313
+ </ul></dd>
314
+ <dt><a name="label-24" id="label-24"><code>curve_to(<var>x1</var>, <var>y1</var>, <var>x2</var>, <var>y2</var>, <var>x3</var>, <var>y3</var>)</code></a></dt><!-- RDLabel: "curve_to" -->
315
+ <dd>
316
+ <p>現在の点から(<var>x3</var>, <var>y3</var>)(ユーザ空間座標)までの
317
+ 3次のベジエスプライン曲線をパスに追加します。制御点には
318
+ (<var>x1</var>, <var>y1</var>)と(<var>x2</var>, <var>y2</var>)を使います。
319
+ このメソッドを呼び出した後は現在の点は(<var>x3</var>,
320
+ <var>y3</var>)になります。</p>
321
+ <p>もし、呼び出し前に現在の点が無い場合は、事前に
322
+ <code>context.move_to(x1, y1</code>が呼ばれたように動きます。</p>
323
+ <ul>
324
+ <li>x1: 最初の制御点のX座標</li>
325
+ <li>y1: 最初の制御点のY座標</li>
326
+ <li>x2: 2番目の制御点のX座標</li>
327
+ <li>y2: 2番目の制御点のY座標</li>
328
+ <li>x3: 曲線の終点のX座標</li>
329
+ <li>y3: 曲線の終点のY座標</li>
330
+ </ul></dd>
331
+ <dt><a name="label-25" id="label-25"><code>dash</code></a></dt><!-- RDLabel: "dash" -->
332
+ <dd>
333
+ 現在のダッシュの配列を返します。
334
+ <ul>
335
+ <li>Returns: <code>[dashes, offset]</code>:
336
+ <ul>
337
+ <li>dashes: ダッシュの配列</li>
338
+ <li>offset: 補正値</li>
339
+ </ul></li>
340
+ </ul></dd>
341
+ <dt><a name="label-26" id="label-26"><code>dash_count</code></a></dt><!-- RDLabel: "dash_count" -->
342
+ <dd>
343
+ <p>ダッシュの配列の長さを返します。(ダッシュが使われてい
344
+ ない場合は0)</p>
345
+ <p><a href="cairo-context.html#label-102">Cairo::Context#set_dash</a>と<a href="cairo-context.html#label-25">Cairo::Context#dash</a>も見てくだ
346
+ さい。</p>
347
+ <ul>
348
+ <li>Returns: ダッシュの配列の長さ。ダッシュの配列が設定さ
349
+ れていない場合は0。</li>
350
+ </ul></dd>
351
+ <dt><a name="label-27" id="label-27"><code>device_to_user(<var>x</var>, <var>y</var>)</code></a></dt><!-- RDLabel: "device_to_user" -->
352
+ <dd>
353
+ 装置空間からユーザ空間へ座標を変換します。与えられた点
354
+ に現在の変換行列(CTM)の逆行列を乗じて変換します。
355
+ <ul>
356
+ <li>x: 装置空間のX座標</li>
357
+ <li>y: 装置空間のY座標</li>
358
+ <li>Returns: <code>[user_x, user_y]</code>:
359
+ <ul>
360
+ <li>user_x: ユーザ空間に変換されたX座標</li>
361
+ <li>user_y: ユーザ空間に変換されたY座標</li>
362
+ </ul></li>
363
+ </ul></dd>
364
+ <dt><a name="label-28" id="label-28"><code>device_to_user_distance(<var>dx</var>, <var>dy</var>)</code></a></dt><!-- RDLabel: "device_to_user_distance" -->
365
+ <dd>
366
+ 装置空間からユーザ空間へ距離ベクトルを変換します。この
367
+ メソッドは<a href="cairo-context.html#label-27">Cairo::Context#device_to_user</a>に似ています。違
368
+ いはCTMの逆行列の平行移動成分が無視されるということです。
369
+ <ul>
370
+ <li>dx: 装置空間の距離ベクトルのX座標</li>
371
+ <li>dy: 装置空間の距離ベクトルのY座標</li>
372
+ <li>Returns: <code>[user_dx, user_dy]</code>:
373
+ <ul>
374
+ <li>user_dx: ユーザ空間に変換された距離ベクトルのX座標</li>
375
+ <li>user_dy: ユーザ空間に変換された距離ベクトルのY座標</li>
376
+ </ul></li>
377
+ </ul></dd>
378
+ <dt><a name="label-29" id="label-29"><code>fill(<var>preserve</var>=<var>false</var>)</code></a></dt><!-- RDLabel: "fill" -->
379
+ <dt><a name="label-30" id="label-30"><code>fill(<var>preserve</var>=<var>false</var>) {|<var>self</var>| ...}</code></a></dt><!-- RDLabel: "fill" -->
380
+ <dd>
381
+ <p>現在の塗りつぶし規則にしたがって現在のパスを塗りつぶす
382
+ 描画操作です。(塗りつぶす前に各サブパスは暗黙のうちに
383
+ 閉じられます。)<var>preserve</var>が偽の場合は
384
+ <a href="cairo-context.html#label-29">Cairo::Context#fill</a>を呼び出した後、現在のパスがコンテキ
385
+ ストから消去されます。</p>
386
+ <p>ブロックを指定した場合は、<a href="cairo-context.html#label-76">Cairo::Context#new_path</a>で新し
387
+ いパスをはじめてからブロックを呼び出します。以下のよう
388
+ に使います。</p>
389
+ <pre>context.fill do
390
+ context.rectangle(20, 20, 40, 40)
391
+ end</pre>
392
+ <p>これは以下と等価です。</p>
393
+ <pre>context.new_path
394
+ context.rectangle(20, 20, 40, 40)
395
+ context.fill</pre>
396
+ <p><a href="cairo-context.html#label-36">Cairo::Context#set_fill_rule</a>も見てください。</p>
397
+ <ul>
398
+ <li>preserve: 真の場合はパスを消去しない</li>
399
+ </ul></dd>
400
+ <dt><a name="label-31" id="label-31"><code>fill_extents</code></a></dt><!-- RDLabel: "fill_extents" -->
401
+ <dd>
402
+ <p>現在のパスと塗りつぶしパラメータで<a href="cairo-context.html#label-29">Cairo::Context#fill</a>を
403
+ 呼び出したときに影響がある範囲を覆うユーザ空間のバウン
404
+ ディングボックスを計算します。現在のパスが空なら空の四
405
+ 角(0,0, 0,0)を返します。サーフェスの大きさと切り取り領
406
+ 域は関係ありません。</p>
407
+ <p>以下も見てください。</p>
408
+ <ul>
409
+ <li><a href="cairo-context.html#label-29">Cairo::Context#fill</a></li>
410
+ <li><a href="cairo-context.html#label-36">Cairo::Context#set_fill_rule</a></li>
411
+ </ul>
412
+ <ul>
413
+ <li>Returns: <code>[x1, y1, x2, y2]</code>:
414
+ <ul>
415
+ <li>x1: バウンディングボックスの左</li>
416
+ <li>y1: バウンディングボックスの上</li>
417
+ <li>x2: バウンディングボックスの右</li>
418
+ <li>y2: バウンディングボックスの下</li>
419
+ </ul></li>
420
+ </ul></dd>
421
+ <dt><a name="label-32" id="label-32"><code>fill_preserve</code></a></dt><!-- RDLabel: "fill_preserve" -->
422
+ <dt><a name="label-33" id="label-33"><code>fill_preserve {|<var>self</var>| ...}</code></a></dt><!-- RDLabel: "fill_preserve" -->
423
+ <dd>
424
+ <p><a href="cairo-context.html#label-29">Cairo::Context#fill</a>を以下のように呼び出すことと同じです。</p>
425
+ <pre>context.fill(true)
426
+ context.fill(true) { ... }</pre></dd>
427
+ <dt><a name="label-34" id="label-34"><code>fill_rule</code></a></dt><!-- RDLabel: "fill_rule" -->
428
+ <dd>
429
+ 現在の塗りつぶし規則を返します。塗りつぶし規則は
430
+ <a href="cairo-context.html#label-36">Cairo::Context#set_fill_rule</a>で設定します。
431
+ <ul>
432
+ <li>Returns: <a href="cairo-fill-rule.html">Cairo::FillRule</a>に定義されている定数のどれか。</li>
433
+ </ul></dd>
434
+ <dt><a name="label-35" id="label-35"><code>fill_rule=(<var>fill_rule</var>)</code></a></dt><!-- RDLabel: "fill_rule=" -->
435
+ <dt><a name="label-36" id="label-36"><code>set_fill_rule(<var>fill_rule</var>)</code></a></dt><!-- RDLabel: "set_fill_rule" -->
436
+ <dd>
437
+ コンテキスト中の現在の塗りつぶしルールを設定します。塗
438
+ りつぶし規則は領域が複雑な(自身で交差している可能性のあ
439
+ る)パスの内側にあるか外側にあるかを判断するために使わ
440
+ れます。現在の塗りつぶし規則は<a href="cairo-context.html#label-29">Cairo::Context#fill</a>と
441
+ <a href="cairo-context.html#label-13">Cairo::Context#clip</a>の両方に影響を与えます。有効な塗りつ
442
+ ぶし規則のそれぞれの意味の詳細は
443
+ <a href="cairo-fill-rule.html">Cairo::FillRule</a>を見てください。
444
+ <ul>
445
+ <li>fill_rule: :windingや:even_oddなど<a href="cairo-fill-rule.html">Cairo::FillRule</a>に定
446
+ 義されている定数名と同じもの。大文字小文字は関係あり
447
+ ません。また、シンボルではなくて文字列で"winding"のよ
448
+ うに指定することもできます。もちろん、
449
+ <a href="cairo-fill-rule.html">Cairo::FillRule</a>に定義されている定数を指定すること
450
+ もできます。</li>
451
+ </ul></dd>
452
+ <dt><a name="label-37" id="label-37"><code>font_extents</code></a></dt><!-- RDLabel: "font_extents" -->
453
+ <dd>
454
+ 現在選択しているフォントの範囲を返します。
455
+ <ul>
456
+ <li>Returns: <a href="cairo-font-extents.html">Cairo::FontExtents</a>オブジェクト</li>
457
+ </ul></dd>
458
+ <dt><a name="label-38" id="label-38"><code>font_face</code></a></dt><!-- RDLabel: "font_face" -->
459
+ <dd>
460
+ <p>現在のフォントフェイスを返します。</p>
461
+ <p>メモリがたりない場合はNoMemoryError例外が発生します。</p>
462
+ <ul>
463
+ <li>Returns: 現在の<a href="cairo-font-face.html">Cairo::FontFace</a>オブジェクト。</li>
464
+ </ul></dd>
465
+ <dt><a name="label-39" id="label-39"><code>font_face=(<var>font_face</var>)</code></a></dt><!-- RDLabel: "font_face=" -->
466
+ <dt><a name="label-40" id="label-40"><code>set_font_face(<var>font_face</var>)</code></a></dt><!-- RDLabel: "set_font_face" -->
467
+ <dd>
468
+ コンテキストの現在の<a href="cairo-font-face.html">Cairo::FontFace</a>オブジェクトを
469
+ <var>font_face</var>で置き換えます。
470
+ <ul>
471
+ <li>font_face: <a href="cairo-font-face.html">Cairo::FontFace</a>オブジェクト。<code>nil</code>の場
472
+ 合はデフォルトのフォントに戻します。</li>
473
+ </ul></dd>
474
+ <dt><a name="label-41" id="label-41"><code>font_matrix</code></a></dt><!-- RDLabel: "font_matrix" -->
475
+ <dd>
476
+ 現在のフォント用行列を返します。
477
+ <a href="cairo-context.html#label-43">Cairo::Context#set_font_matrix</a>も見てください。
478
+ <ul>
479
+ <li>Returns: フォント用行列を<a href="cairo-matrix.html">Cairo::Matrix</a>オブジェクトで
480
+ 返します。</li>
481
+ </ul></dd>
482
+ <dt><a name="label-42" id="label-42"><code>font_matrix=(<var>matrix</var>)</code></a></dt><!-- RDLabel: "font_matrix=" -->
483
+ <dt><a name="label-43" id="label-43"><code>set_font_matrix(<var>matrix</var>)</code></a></dt><!-- RDLabel: "set_font_matrix" -->
484
+ <dd>
485
+ <var>matrix</var>を現在のフォント用行列に設定します。フォン
486
+ ト用行列はフォントのデザイン空間(この空間ではemの四角
487
+ は1単位 x 1単位です)からユーザ空間への変換方法になりま
488
+ す。通常は単純な拡大・縮小が使われます
489
+ (<a href="cairo-context.html#label-48">Cairo::Context#set_font_size</a>を見てください)。しかし、
490
+ フォントを剪断(斜めに傾ける)したり長さの異なる平行な
491
+ ふたつの軸に対して(?FIXME)伸縮させたりなど、複雑なフォ
492
+ ント用行列を使うこともできます。
493
+ <ul>
494
+ <li>matrix: 現在のフォントに適用する変換行列</li>
495
+ </ul></dd>
496
+ <dt><a name="label-44" id="label-44"><code>font_options</code></a></dt><!-- RDLabel: "font_options" -->
497
+ <dd>
498
+ <a href="cairo-context.html#label-46">Cairo::Context#set_font_options</a>で設定したフォント描画オ
499
+ プションを返します。返されるオプションにはコンテキスト
500
+ の下にあるサーフェスから得られたオプションは含まれませ
501
+ ん。つまり、このオプションはそのまま
502
+ <a href="cairo-context.html#label-46">Cairo::Context#set_font_options</a>に渡すことができます。
503
+ <ul>
504
+ <li>Returns: <a href="cairo-font-options.html">Cairo::FontOptions</a>オブジェクト</li>
505
+ </ul></dd>
506
+ <dt><a name="label-45" id="label-45"><code>font_options=(<var>options</var>)</code></a></dt><!-- RDLabel: "font_options=" -->
507
+ <dt><a name="label-46" id="label-46"><code>set_font_options(<var>options</var>)</code></a></dt><!-- RDLabel: "set_font_options" -->
508
+ <dd>
509
+ コンテキストにフォント描画オプションを設定します。描画
510
+ オプションはコンテキストの下にあるサーフェスから得たオ
511
+ プションとマージされます。つまり、もし、<var>options</var>が
512
+ (<a href="cairo-antialias.html#label-2">Cairo::Antialias::DEFAULT</a>のような)デフォルト値を持っ
513
+ ている場合は、サーフェスから得た値を使います。
514
+ <ul>
515
+ <li>options: <a href="cairo-font-options.html">Cairo::FontOptions</a>オブジェクト</li>
516
+ </ul></dd>
517
+ <dt><a name="label-47" id="label-47"><code>font_size=(<var>size</var>)</code></a></dt><!-- RDLabel: "font_size=" -->
518
+ <dt><a name="label-48" id="label-48"><code>set_font_size(<var>size</var>)</code></a></dt><!-- RDLabel: "set_font_size" -->
519
+ <dd>
520
+ 現在のフォント用行列を<var>size</var>倍に拡大する行列に設定
521
+ します。以前に<a href="cairo-context.html#label-48">Cairo::Context#set_font_size</a>あるいは
522
+ <a href="cairo-context.html#label-43">Cairo::Context#set_font_matrix</a>で設定したフォント用行列
523
+ は置き換えられます。<var>size</var>のフォントサイズはユーザ
524
+ 空間の単位になります。(より正確にいうと、この行列はフォ
525
+ ントのem正方形をユーザ空間での<var>size</var> x <var>size</var>の
526
+ 正方形にします。)
527
+ <ul>
528
+ <li>size: ユーザ空間の単位での新しいフォントサイズ</li>
529
+ </ul></dd>
530
+ <dt><a name="label-49" id="label-49"><code>glyph_extents(<var>glyphs</var>)</code></a></dt><!-- RDLabel: "glyph_extents" -->
531
+ <dd>
532
+ <p>グリフの範囲を返します。範囲はグリフをインクで塗る部分
533
+ を囲む(ユーザ空間での)四角を示しています。(グリフは
534
+ <a href="cairo-context.html#label-107">Cairo::Context#show_glyphs</a>で描画できます。)さらに、
535
+ 範囲(<a href="cairo-text-extents.html">Cairo::TextExtents</a>)の<var>x_advance</var>と
536
+ <var>y_advance</var>の値は<a href="cairo-context.html#label-107">Cairo::Context#show_glyphs</a>が進める
537
+ 現在の点の合計を示しています。
538
+ (<a href="cairo-context.html#label-107">Cairo::Context#show_glyphs</a>はグリフを描画すると、描画
539
+ した分だけ現在の点を進めます。)</p>
540
+ <p>空白のグリフは四角のサイズ(extents.widthと
541
+ extents.height)に貢献しないことに注意してください。</p>
542
+ <ul>
543
+ <li>glyphs: <a href="cairo-glyph.html">Cairo::Glyph</a>の配列</li>
544
+ <li>Returns: グリフの範囲を示す<a href="cairo-text-extents.html">Cairo::TextExtents</a>オブジェ
545
+ クト。</li>
546
+ </ul></dd>
547
+ <dt><a name="label-50" id="label-50"><code>glyph_path(<var>glyphs</var>)</code></a></dt><!-- RDLabel: "glyph_path" -->
548
+ <dd>
549
+ 現在のパスにグリフの閉じたパスを追加します。
550
+ 生成されたパスを塗りつぶすと、
551
+ <a href="cairo-context.html#label-107">Cairo::Context#show_glyphs</a>のような効果を実現できます。
552
+ <ul>
553
+ <li>glyphs: 表示するグリフ(<a href="cairo-glyph.html">Cairo::Glyph</a>)の配列</li>
554
+ </ul></dd>
555
+ <dt><a name="label-51" id="label-51"><code>group_target</code></a></dt><!-- RDLabel: "group_target" -->
556
+ <dd>
557
+ <p>一番最後に呼んだ<a href="cairo-context.html#label-85">Cairo::Context#push_group</a>または
558
+ <a href="cairo-context.html">Cairo::Context#push_with_content</a>ではじまった現在のグルー
559
+ プ用の対象サーフェスを返します。</p>
560
+ <p>もし全てのグループ描画ブロックの外で呼んだ場合は
561
+ <code>nil</code>を返します。(つまり、最後のつりあった
562
+ <a href="cairo-context.html#label-83">Cairo::Context#pop_group</a>あるいは
563
+ <a href="cairo-context.html">Cairo::Context#pop_group_to_surface</a>のあとに<code>nil</code>が
564
+ 返ります。(そんなことあるかなぁ))</p>
565
+ <ul>
566
+ <li>Returns: 対象グループサーフェス。もしなければ
567
+ <code>nil</code>。</li>
568
+ </ul></dd>
569
+ <dt><a name="label-52" id="label-52"><code>identity_matrix</code></a></dt><!-- RDLabel: "identity_matrix" -->
570
+ <dd>
571
+ 現在の変換行列(CTM)をリセットして単位行列にします。つ
572
+ まり、ユーザ空間と装置空間の軸が揃い、1ユーザ空間単位は
573
+ 1装置空間単位に変換されます。</dd>
574
+ <dt><a name="label-53" id="label-53"><code>in_fill?(<var>x</var>, <var>y</var>)</code></a></dt><!-- RDLabel: "in_fill?" -->
575
+ <dt><a name="label-54" id="label-54"><code>in_fill?(<var>x</var>, <var>y</var>) {|<var>self</var>| ...}</code></a></dt><!-- RDLabel: "in_fill?" -->
576
+ <dd>
577
+ <p>指定された点が<a href="cairo-context.html#label-29">Cairo::Context#fill</a>操作で影響がある範囲の
578
+ 中にあるかどうかをテストします。その際、現在のパスと現
579
+ 在の塗りつぶしパラメータが使われます。サーフェスの面積
580
+ と切り取り範囲は関係ありません。</p>
581
+ <p>ブロックを指定するとブロックを抜けた時点の状態をテスト
582
+ します。ブロックを指定するとパスが消去されることに注意
583
+ してください。</p>
584
+ <p>以下のメソッドも見てください。</p>
585
+ <ul>
586
+ <li><a href="cairo-context.html#label-29">Cairo::Context#fill</a></li>
587
+ <li><a href="cairo-context.html#label-36">Cairo::Context#set_fill_rule</a></li>
588
+ <li><a href="cairo-context.html#label-32">Cairo::Context#fill_preserve</a></li>
589
+ </ul>
590
+ <ul>
591
+ <li>x: テストする点のX座標</li>
592
+ <li>y: テストする点のY座標</li>
593
+ <li>Returns: 点が内側にあれば<code>true</code>。外にあれば
594
+ <code>false</code>。</li>
595
+ </ul></dd>
596
+ <dt><a name="label-55" id="label-55"><code>in_stroke?(<var>x</var>, <var>y</var>)</code></a></dt><!-- RDLabel: "in_stroke?" -->
597
+ <dt><a name="label-56" id="label-56"><code>in_stroke?(<var>x</var>, <var>y</var>) {|<var>self</var>| ...}</code></a></dt><!-- RDLabel: "in_stroke?" -->
598
+ <dd>
599
+ <p>指定された点が<a href="cairo-context.html#label-111">Cairo::Context#stroke</a>操作で影響がある範囲
600
+ の中にあるかどうかをテストします。その際、現在のパスと
601
+ 現在の描きパラメータが使われます。サーフェスの面積と切り
602
+ 取り範囲は関係ありません。</p>
603
+ <p>ブロックを指定するとブロックを抜けた時点の状態をテスト
604
+ します。ブロックを指定するとパスが消去されることに注意
605
+ してください。</p>
606
+ <p>以下のメソッドも見てください。</p>
607
+ <ul>
608
+ <li><a href="cairo-context.html#label-111">Cairo::Context#stroke</a></li>
609
+ <li><a href="cairo-context.html">Cairo::Context#set_line_with</a></li>
610
+ <li><a href="cairo-context.html#label-62">Cairo::Context#set_line_join</a></li>
611
+ <li><a href="cairo-context.html#label-59">Cairo::Context#set_line_cap</a></li>
612
+ <li><a href="cairo-context.html#label-102">Cairo::Context#set_dash</a></li>
613
+ <li><a href="cairo-context.html#label-114">Cairo::Context#stroke_preserve</a></li>
614
+ </ul>
615
+ <ul>
616
+ <li>x: テストする点のX座標</li>
617
+ <li>y: テストする点のY座標</li>
618
+ <li>Returns: 点が内側にあれば<code>true</code>。外にあれば
619
+ <code>false</code>。</li>
620
+ </ul></dd>
621
+ <dt><a name="label-57" id="label-57"><code>line_cap</code></a></dt><!-- RDLabel: "line_cap" -->
622
+ <dd>
623
+ <a href="cairo-context.html#label-59">Cairo::Context#set_line_cap</a>で設定した現在のラインキャッ
624
+ プスタイル(終点を描画する方法)を返します。
625
+ <ul>
626
+ <li>Returns: 現在のラインキャップスタイル。
627
+ <a href="cairo-line-cap.html">Cairo::LineCap</a>に定義されている定数のどれか。</li>
628
+ </ul></dd>
629
+ <dt><a name="label-58" id="label-58"><code>line_cap=(<var>line_cap</var>)</code></a></dt><!-- RDLabel: "line_cap=" -->
630
+ <dt><a name="label-59" id="label-59"><code>set_line_cap(<var>line_cap</var>)</code></a></dt><!-- RDLabel: "set_line_cap" -->
631
+ <dd>
632
+ <p>コンテキスト中の現在のラインキャップスタイルを設定しま
633
+ す。どのようにラインキャップスタイルが描画されるかは
634
+ <a href="cairo-line-cap.html">Cairo::LineCap</a>を見てください。</p>
635
+ <p>他の描きパラメータと同じように、現在のラインキャップスタ
636
+ イルは<a href="cairo-context.html#label-111">Cairo::Context#stroke</a>,
637
+ <a href="cairo-context.html#label-113">Cairo::Context#stroke_extents</a>
638
+ で参照されますが、パスを作っているときはまったく影響を
639
+ 与えません。</p>
640
+ <ul>
641
+ <li>line_cap: :roundや:buttなど<a href="cairo-line-cap.html">Cairo::LineCap</a>に定義されて
642
+ いる定数名と同じもの。大文字小文字は関係ありません。
643
+ また、シンボルではなくて文字列で"round"のように指定す
644
+ ることもできます。もちろん、
645
+ <a href="cairo-line-cap.html">Cairo::LineCap</a>に定義されている定数を指定することもできます。</li>
646
+ </ul></dd>
647
+ <dt><a name="label-60" id="label-60"><code>line_join</code></a></dt><!-- RDLabel: "line_join" -->
648
+ <dd>
649
+ <a href="cairo-context.html#label-62">Cairo::Context#set_line_join</a>で設定した現在の結合点スタ
650
+ イル(線分中の点を描画する方法)を返します。
651
+ <ul>
652
+ <li>Returns: 現在の結合点スタイル。
653
+ <a href="cairo-line-join.html">Cairo::LineJoin</a>に定義されている定数のどれか。</li>
654
+ </ul></dd>
655
+ <dt><a name="label-61" id="label-61"><code>line_join=(<var>line_join</var>)</code></a></dt><!-- RDLabel: "line_join=" -->
656
+ <dt><a name="label-62" id="label-62"><code>set_line_join(<var>line_join</var>)</code></a></dt><!-- RDLabel: "set_line_join" -->
657
+ <dd>
658
+ <p>コンテキスト中の現在の結合点スタイルを設定します。どの
659
+ ように結合点スタイルが描画されるかは
660
+ <a href="cairo-line-join.html">Cairo::LineJoin</a>を見てください。</p>
661
+ <p>他の描きパラメータと同じように、現在の結合点スタイルは
662
+ <a href="cairo-context.html#label-111">Cairo::Context#stroke</a>,
663
+ <a href="cairo-context.html#label-113">Cairo::Context#stroke_extents</a>
664
+ で参照されますが、パスを作っているときはまったく影響を
665
+ 与えません。</p>
666
+ <ul>
667
+ <li>line_join: :roundや:bevelなど<a href="cairo-line-join.html">Cairo::LineJoin</a>に定義さ
668
+ れている定数名と同じもの。大文字小文字は関
669
+ 係ありません。また、シンボルではなくて文字列で
670
+ "round"のように指定することもできます。もちろん、
671
+ <a href="cairo-line-join.html">Cairo::LineJoin</a>に定義されている定数を指定することもで
672
+ きます。</li>
673
+ </ul></dd>
674
+ <dt><a name="label-63" id="label-63"><code>line_to(<var>x</var>, <var>y</var>)</code></a></dt><!-- RDLabel: "line_to" -->
675
+ <dd>
676
+ <p>現在の点からユーザ空間座標で(<var>x</var>, <var>y</var>)の点まで
677
+ の線分をパスに追加します。呼び出した後は現在の点は
678
+ (<var>x</var>, <var>y</var>)になります。</p>
679
+ <p>呼び出す前に現在の点がない場合は、呼び出し前に
680
+ <code>context.move_to(x, y)</code>としたように振る舞います。</p>
681
+ <ul>
682
+ <li>x: 新しい線分の終点のX座標</li>
683
+ <li>y: 新しい線分の終点のY座標</li>
684
+ </ul></dd>
685
+ <dt><a name="label-64" id="label-64"><code>line_width</code></a></dt><!-- RDLabel: "line_width" -->
686
+ <dd>
687
+ <a href="cairo-context.html#label-66">Cairo::Context#set_line_width</a>で設定した値と正確に同じ現
688
+ 在の線幅を返します。この値はたとえ
689
+ <a href="cairo-context.html#label-66">Cairo::Context#set_line_width</a>と
690
+ <a href="cairo-context.html#label-64">Cairo::Context#line_width</a>の呼び出しの間にCTMを変えたと
691
+ しても変わりません。
692
+ <ul>
693
+ <li>Returns: 現在の線幅。</li>
694
+ </ul></dd>
695
+ <dt><a name="label-65" id="label-65"><code>line_width=(<var>width</var>)</code></a></dt><!-- RDLabel: "line_width=" -->
696
+ <dt><a name="label-66" id="label-66"><code>set_line_width(<var>width</var>)</code></a></dt><!-- RDLabel: "set_line_width" -->
697
+ <dd>
698
+ <p>コンテキスト中の現在の線幅を設定します。線幅の値はユー
699
+ ザ空間での丸いペンの直径を指定します。(にもかかわらず
700
+ 装置空間でのペンはふつうは楕円です。これはCTMによる拡
701
+ 大・縮小・剪断・回転のためです。)</p>
702
+ <p>注: 上記の説明でユーザ空間とCTMにふれたとき、ユーザ空間
703
+ とCTMは描き操作のときに影響があり、
704
+ <a href="cairo-context.html#label-66">Cairo::Context#set_line_width</a>のときには影響がないといい
705
+ ました。もっとも単純な使用法はふたつの空間を等しくする
706
+ ことです。つまり、もし<a href="cairo-context.html#label-66">Cairo::Context#set_line_width</a>と描
707
+ き操作の間にCTMを変更しなければ、単純にユーザ空間の値を
708
+ <a href="cairo-context.html#label-66">Cairo::Context#set_line_width</a>に渡すことができ、この注は
709
+ 無視することができます。</p>
710
+ <p>他の描きパラメータと同じように、現在の線幅は
711
+ <a href="cairo-context.html#label-111">Cairo::Context#stroke</a>,
712
+ <a href="cairo-context.html#label-113">Cairo::Context#stroke_extents</a>
713
+ で参照されますが、パスを作っているときはまったく影響を
714
+ 与えません。</p>
715
+ <p>デフォルトの線幅は<code>2.0</code>です。</p>
716
+ <ul>
717
+ <li>width: 線幅</li>
718
+ </ul></dd>
719
+ <dt><a name="label-67" id="label-67"><code>mask(<var>pattern</var>)</code></a></dt><!-- RDLabel: "mask" -->
720
+ <dt><a name="label-68" id="label-68"><code>mask(<var>surface</var>, <var>x</var>, <var>y</var>)</code></a></dt><!-- RDLabel: "mask" -->
721
+ <dd>
722
+ <var>pattern</var>(または<var>surface</var>)のアルファチャンネル
723
+ をマスクとして使って現在のソースを塗る描画操作です。
724
+ (<var>pattern</var>(または<var>surface</var>)の不透明部分(ア
725
+ ルファチャンネルが0より大きい部分)を現在のソースで塗り
726
+ ます。透明な部分(アルファチャンネルが0の部分)は塗られ
727
+ ません。)
728
+ <ul>
729
+ <li>pattern: <a href="cairo-pattern.html">Cairo::Pattern</a>をスーパークラスに持つオブジェ
730
+ クト</li>
731
+ <li>surface: <a href="cairo-surface.html">Cairo::Surface</a>をスーパークラスに持つオブジェ
732
+ クト</li>
733
+ <li>x: <var>surface</var>を置く基点のX座標</li>
734
+ <li>y: <var>surface</var>を置く基点のY座標</li>
735
+ </ul></dd>
736
+ <dt><a name="label-69" id="label-69"><code>matrix</code></a></dt><!-- RDLabel: "matrix" -->
737
+ <dd>
738
+ 現在の変換行列(CTM)を返します。
739
+ <ul>
740
+ <li>Returns: <a href="cairo-matrix.html">Cairo::Matrix</a>オブジェクト</li>
741
+ </ul></dd>
742
+ <dt><a name="label-70" id="label-70"><code>matrix=(<var>matrix</var>)</code></a></dt><!-- RDLabel: "matrix=" -->
743
+ <dt><a name="label-71" id="label-71"><code>set_matrix(<var>matrix</var>)</code></a></dt><!-- RDLabel: "set_matrix" -->
744
+ <dd>
745
+ 現在の変換行列(CTM)を<var>matrix</var>に変更します。
746
+ <ul>
747
+ <li>matrix: <a href="cairo-matrix.html">Cairo::Matrix</a>オブジェクト</li>
748
+ </ul></dd>
749
+ <dt><a name="label-72" id="label-72"><code>miter_limit</code></a></dt><!-- RDLabel: "miter_limit" -->
750
+ <dd>
751
+ <a href="cairo-context.html#label-74">Cairo::Context#set_miter_limit</a>で設定した現在の留め継ぎ
752
+ 限界を返します。
753
+ <ul>
754
+ <li>Returns: 留め継ぎ限界値</li>
755
+ </ul></dd>
756
+ <dt><a name="label-73" id="label-73"><code>miter_limit=(<var>limit</var>)</code></a></dt><!-- RDLabel: "miter_limit=" -->
757
+ <dt><a name="label-74" id="label-74"><code>set_miter_limit(<var>limit</var>)</code></a></dt><!-- RDLabel: "set_miter_limit" -->
758
+ <dd>
759
+ <p>コンテキストの中に現在の留め継ぎ限界を設定します。</p>
760
+ <p>現在の結合点スタイルが<a href="cairo-line-join.html#label-3">Cairo::LineJoin::MITER</a>の場合は
761
+ (<a href="cairo-context.html">Cairo::Context#est_line_join</a>を見てください)、線分を
762
+ 留め継ぎの代わりに斜角で結合するべきかどうかを判断
763
+ するために設定した留め継ぎ限界を使います。</p>
764
+ <pre>留め継ぎ:
765
+ \__/
766
+ 斜角:
767
+ \/</pre>
768
+ <p>cairoは留め継ぎの長さを線幅で割ります。その結果が留め
769
+ 継ぎ限界よりも大きい場合は、斜角スタイルを使います。</p>
770
+ <p>他の描きパラメータと同じように、現在の留め継ぎ限界は
771
+ <a href="cairo-context.html#label-111">Cairo::Context#stroke</a>,
772
+ <a href="cairo-context.html#label-113">Cairo::Context#stroke_extents</a>
773
+ で参照されますが、パスを作っているときはまったく影響を
774
+ 与えません。</p>
775
+ <ul>
776
+ <li>limit: 留め継ぎ限界</li>
777
+ </ul></dd>
778
+ <dt><a name="label-75" id="label-75"><code>move_to(<var>x</var>, <var>y</var>)</code></a></dt><!-- RDLabel: "move_to" -->
779
+ <dd>
780
+ 新しいサブパスを始めます。呼び出した後は現在の点は
781
+ (<var>x</var>, <var>y</var>)になります。
782
+ <ul>
783
+ <li>x: 新しい位置のX座標</li>
784
+ <li>y: 新しい位置のY座標</li>
785
+ </ul></dd>
786
+ <dt><a name="label-76" id="label-76"><code>new_path</code></a></dt><!-- RDLabel: "new_path" -->
787
+ <dd>
788
+ 現在のパスを消去します。呼び出した後はパスも現在の点も
789
+ なくなります。</dd>
790
+ <dt><a name="label-77" id="label-77"><code>new_sub_path</code></a></dt><!-- RDLabel: "new_sub_path" -->
791
+ <dd>
792
+ <p>新しいサブパスを始めます。既存のパスには影響を与えない
793
+ ことに注意してください。呼び出した後は現在の点はなくな
794
+ ります。</p>
795
+ <p>多くの場合、この呼び出しは必要ありません。なぜなら新し
796
+ いサブパスの多くは<a href="cairo-context.html#label-75">Cairo::Context#move_to</a>で始めるからで
797
+ す。</p>
798
+ <p><a href="cairo-context.html#label-77">Cairo::Context#new_sub_path</a>は新しいサブパスを
799
+ <a href="cairo-context.html#label-10">Cairo::Context#arc</a>で始める場合に特に役立ちます。これは
800
+ 物事を簡単にします。もう手動で<a href="cairo-context.html#label-75">Cairo::Context#move_to</a>を
801
+ 呼び出すための円弧の初期座標を計算する必要がないのです。</p></dd>
802
+ <dt><a name="label-78" id="label-78"><code>operator</code></a></dt><!-- RDLabel: "operator" -->
803
+ <dd>
804
+ 現在の合成操作を返します。
805
+ <ul>
806
+ <li>Returns: <a href="cairo-operator.html">Cairo::Operator</a>に定義されている定数のどれか。</li>
807
+ </ul></dd>
808
+ <dt><a name="label-79" id="label-79"><code>operator=(<var>operator</var>)</code></a></dt><!-- RDLabel: "operator=" -->
809
+ <dt><a name="label-80" id="label-80"><code>set_operator(<var>operator</var>)</code></a></dt><!-- RDLabel: "set_operator" -->
810
+ <dd>
811
+ 全ての描画操作で使われる合成操作を設定します。利用可能
812
+ な各合成操作の意味の詳細は<a href="cairo-operator.html">Cairo::Operator</a>を見てください。
813
+ <ul>
814
+ <li>operator: :overや:sourceなど<a href="cairo-operator.html">Cairo::Operator</a>に定義され
815
+ ている定数名と同じもの。大文字小文字は関係ありません。
816
+ また、シンボルではなくて文字列で"over"のように指定す
817
+ ることもできます。もちろん、<a href="cairo-operator.html">Cairo::Operator</a>に定義され
818
+ ている定数を指定することもできます。</li>
819
+ </ul></dd>
820
+ <dt><a name="label-81" id="label-81"><code>paint</code></a></dt><!-- RDLabel: "paint" -->
821
+ <dt><a name="label-82" id="label-82"><code>paint(<var>alpha</var>)</code></a></dt><!-- RDLabel: "paint" -->
822
+ <dd>
823
+ 現在のソースを現在の切り取り範囲全体に塗る描画操作です。
824
+ <var>alpha</var>を指定すると、指定したアルファ値で塗られます。
825
+ <ul>
826
+ <li>alpha: アルファ値。0(透明)〜1(不透明)の間。</li>
827
+ </ul></dd>
828
+ <dt><a name="label-83" id="label-83"><code>pop_group(<var>to_source</var>=<var>false</var>)</code></a></dt><!-- RDLabel: "pop_group" -->
829
+ <dd>
830
+ <p><a href="cairo-context.html#label-85">Cairo::Context#push_group</a>ではじめた出力先の変更を終了し
831
+ ます。グループに実行した全ての描画操作の結果を含んだ新
832
+ しいパターンを返します。</p>
833
+ <p><a href="cairo-context.html#label-83">Cairo::Context#pop_group</a>は<a href="cairo-context.html#label-93">Cairo::Context#restore</a>を呼び
834
+ 出します(<a href="cairo-context.html#label-85">Cairo::Context#push_group</a>が呼び出した
835
+ <a href="cairo-context.html#label-95">Cairo::Context#save</a>に対応します)。グループ内で行ったグ
836
+ ラフィックス状態の変更はグループの外側には見えません。</p>
837
+ <p><var>to_source</var>が真の場合は以下と同じ動作になります。</p>
838
+ <pre>group = context.pop_group(false)
839
+ context.set_source(group)</pre>
840
+ <ul>
841
+ <li>to_source: グループをコンテキストのソースに設定するか
842
+ どうか。</li>
843
+ <li>Returns: <var>to_source</var>が真の場合は<code>nil</code>。偽の場
844
+ 合は新しく作られた(サーフェス)パターン。パターンは
845
+ グループに実行した全ての描画操作の結果を含んでいます。</li>
846
+ </ul></dd>
847
+ <dt><a name="label-84" id="label-84"><code>pop_group_to_source</code></a></dt><!-- RDLabel: "pop_group_to_source" -->
848
+ <dd>
849
+ <p>以下と同じです。詳しくは<a href="cairo-context.html#label-83">Cairo::Context#pop_group</a>を見て
850
+ ください。</p>
851
+ <pre>context.pop_group(true)</pre></dd>
852
+ <dt><a name="label-85" id="label-85"><code>push_group(<var>context</var>=<var>nil</var>)</code></a></dt><!-- RDLabel: "push_group" -->
853
+ <dt><a name="label-86" id="label-86"><code>push_group(<var>context</var>=<var>nil</var>, <var>pop_to_source</var>=<var>true</var>) {|<var>self</var>| ...}</code></a></dt><!-- RDLabel: "push_group" -->
854
+ <dd>
855
+ <p>一時的にグループとして知られている中間サーフェスに描画
856
+ の出力先を変更します。出力先の変更は
857
+ <a href="cairo-context.html#label-83">Cairo::Context#pop_group</a>でグループを終了するまで続きま
858
+ す。<a href="cairo-context.html#label-83">Cairo::Context#pop_group</a>はグループに対する全ての描
859
+ 画の結果をパターンとして返します(パターンオブジェクト
860
+ そのものを返すか、ソースパターンに設定します)。</p>
861
+ <p>グループ機能は中間合成を行うのに便利です。グループの一
862
+ 般的な使いかたのひとつは、グループの中に不透明なオブジェ
863
+ クトを描画し、その結果を本当の描画先上に透明度つきで混
864
+ ぜ合わせるというものです。</p>
865
+ <p>グループは任意の深さで入れ子にすることができます。この
866
+ ためには釣り合いの取れた<a href="cairo-context.html#label-85">Cairo::Context#push_group</a>と
867
+ <a href="cairo-context.html#label-83">Cairo::Context#pop_group</a>のペアを使います。各push/popは
868
+ 新しい対象グループをスタックの上に置くあるいは取り除き
869
+ ます。</p>
870
+ <p><a href="cairo-context.html#label-85">Cairo::Context#push_group</a>は<a href="cairo.html">Cairo</a>:Context#saveを呼ぶので、
871
+ いかなるグラフィックス状態の変更もグループの外には見え
872
+ ません。(<a href="cairo-context.html#label-83">Cairo::Context#pop_group</a>は
873
+ <a href="cairo-context.html#label-93">Cairo::Context#restore</a>を呼びます。)</p>
874
+ <p>デフォルトでは中間グループの中身の種類は
875
+ <a href="cairo-content.html#label-4">Cairo::Content::COLOR_ALPHA</a>になります。他の種類を選ぶに
876
+ は<var>content</var>を指定します。</p>
877
+ <p>ブロックを指定すると、ブロックを抜けた時点で自動的に
878
+ <a href="cairo-context.html#label-83">Cairo::Context#pop_group</a>を呼び出します。
879
+ <var>pop_to_group</var>が真または<code>nil</code>の場合は、ポップし
880
+ たときにグループをソースに設定します。</p>
881
+ <p>以下は、描きの下にある塗りを見せることなく、半透明の塗
882
+ りと描きを行う例です。(グループを使わずに半透明を指定
883
+ して塗り・描きを行うと半透明で描いた縁の部分が透けて、
884
+ その下にある塗りつぶした部分が見えてしまいます。)</p>
885
+ <pre>context.push_group do
886
+ context.set_source(fill_pattern)
887
+ context.fill(true)
888
+ context.set_source(stroke_pattern)
889
+ context.stroke
890
+ end
891
+ context.paint(alpha)</pre>
892
+ <ul>
893
+ <li>context: :colorや:color_alphaなど<a href="cairo-content.html">Cairo::Content</a>に定義
894
+ されている定数名と同じもの。大文字小文字は関係ありま
895
+ せん。また、シンボルではなくて文字列で"color"のように
896
+ 指定することもできます。もちろん、<a href="cairo-content.html">Cairo::Content</a>に定
897
+ 義されている定数を指定することもできます。</li>
898
+ <li>pop_to_source: 真あるいは<code>nil</code>ならブロックを抜け
899
+ るときに<code>context.pop_group(false)</code>ではなく、
900
+ <code>context.pop_group(true)</code>を使います(違いは
901
+ <a href="cairo-context.html#label-83">Cairo::Context#pop_group</a>を見てください)。ブロックが指
902
+ 定されていない場合は何の影響もありません。</li>
903
+ </ul></dd>
904
+ <dt><a name="label-87" id="label-87"><code>rectangle(<var>x</var>, <var>y</var>, <var>width</var>, <var>height</var>)</code></a></dt><!-- RDLabel: "rectangle" -->
905
+ <dd>
906
+ <p>指定された大きさの閉じた四角いサブパスを現在のパスに追
907
+ 加します。四角はユーザ空間座標で(<var>x</var>, <var>y</var>)の位
908
+ 置に作られます。角を丸くしたい場合は
909
+ <a href="cairo-context.html#label-88">Cairo::Context#rounded_rectangle</a>を使ってください。</p>
910
+ <p>論理的には以下と等しいです。</p>
911
+ <pre>context.move_to(x, y)
912
+ context.rel_line_to(width, 0)
913
+ context.rel_line_to(0, height)
914
+ context.rel_line_to(-width, 0)
915
+ context.close_path</pre>
916
+ <ul>
917
+ <li>x: 四角の左上の点のX座標</li>
918
+ <li>y: 四角の左上の点のY座標</li>
919
+ <li>width: 四角の幅</li>
920
+ <li>height: 四角の高さ</li>
921
+ </ul></dd>
922
+ <dt><a name="label-88" id="label-88"><code>rounded_rectangle(<var>x</var>, <var>y</var>, <var>width</var>, <var>height</var>, <var>x_radius</var>, <var>y_radius</var>=<var>nil</var>)</code></a></dt><!-- RDLabel: "rounded_rectangle" -->
923
+ <dd>
924
+ <a href="cairo-context-rectangle.html#label-2">Cairo::Context::Rectangle#rounded_rectangle</a>を見てくださ
925
+ い。</dd>
926
+ <dt><a name="label-89" id="label-89"><code>rel_curve_to(<var>dx1</var>, <var>dy1</var>, <var>dx2</var>, <var>dy2</var>, <var>dx3</var>, <var>dy3</var>)</code></a></dt><!-- RDLabel: "rel_curve_to" -->
927
+ <dd>
928
+ <p><a href="cairo-context.html#label-24">Cairo::Context#curve_to</a>の相対座標版です。全ての
929
+ 値は現在の点からの相対的な値になります。現在の点から相
930
+ 対点(<var>dx3</var>, <var>dy3</var>)((現在の点のX座標 +
931
+ <var>dx3</var>, 現在の点のY座標 + <var>dy3</var>)の点のこと)まで
932
+ の3次のベジエスプライン曲線をパスに追加します。制御点に
933
+ は相対点(<var>dx1</var>, <var>dy1</var>)と(<var>dx2</var>, <var>dy2</var>)
934
+ を使います。呼び出した後は現在の点は相対点(<var>dx3</var>,
935
+ <var>dy3</var>)になります。</p>
936
+ <p>現在の点を(<var>x</var>, <var>y</var>)とすると以下のふたつは論理
937
+ 的に等しいです。</p>
938
+ <pre>context.rel_curve_to(dx1, dy1, dx2, dy2, dx3, dy3)
939
+ context.curve_to(x + dx1, y + dy1,
940
+ x + dx2, y + dy2,
941
+ x + dx3, y + dy3)</pre>
942
+ <p>現在の点がない場合は<a href="cairo-no-current-point-error.html">Cairo::NoCurrentPointError</a>が発生し
943
+ ます。</p>
944
+ <ul>
945
+ <li>dx1: 最初の制御点のX方向の補正値</li>
946
+ <li>dy1: 最初の制御点のY方向の補正値</li>
947
+ <li>dx2: 2番目の制御点のX方向の補正値</li>
948
+ <li>dy2: 2番目の制御点のY方向の補正値</li>
949
+ <li>dx3: 曲線の終点のX方向の補正値</li>
950
+ <li>dy3: 曲線の終点のY方向の補正値</li>
951
+ </ul></dd>
952
+ <dt><a name="label-90" id="label-90"><code>rel_line_to(<var>dx</var>, <var>dy</var>)</code></a></dt><!-- RDLabel: "rel_line_to" -->
953
+ <dd>
954
+ <p><a href="cairo-context.html#label-63">Cairo::Context#line_to</a>の相対座標版です。現在の点から相
955
+ 対点(<var>dx</var>, <var>dy</var>)((現在の点のX座標 +
956
+ <var>dx</var>, 現在の点のY座標 + <var>dy</var>)の点のこと)までの
957
+ 線分を追加します。相対点はユーザ空間を用います。呼び出
958
+ した後は現在の点は相対点(<var>dx</var>, <var>dy</var>)になります。</p>
959
+ <p>現在の点を(<var>x</var>, <var>y</var>)とすると、以下のふたつは論
960
+ 理的に等しいです。</p>
961
+ <pre>context.rel_line_to(dx, dy)
962
+ context.line_to(x + dx, y + dy)</pre>
963
+ <p>現在の点がない場合は<a href="cairo-no-current-point-error.html">Cairo::NoCurrentPointError</a>が発生し
964
+ ます。</p>
965
+ <ul>
966
+ <li>dx: 新しい線分の終点のX方向の補正値</li>
967
+ <li>dy: 新しい線分の終点のY方向の補正値</li>
968
+ </ul></dd>
969
+ <dt><a name="label-91" id="label-91"><code>rel_move_to(<var>dx</var>, <var>dy</var>)</code></a></dt><!-- RDLabel: "rel_move_to" -->
970
+ <dd>
971
+ <p>新しいサブパスを始めます。呼び出した後は現在の点は相
972
+ 対点(<var>dx</var>, <var>dy</var>)((現在の点のX座標 +
973
+ <var>dx</var>, 現在の点のY座標 + <var>dy</var>)の点のこと)になり
974
+ ます。</p>
975
+ <p>現在の点を(<var>x</var>, <var>y</var>)とすると、以下のふたつは論
976
+ 理的に等しいです。</p>
977
+ <pre>context.rel_move_to(dx, dy)
978
+ context.move_to(x + dx, y + dy)</pre>
979
+ <p>現在の点がない場合は<a href="cairo-no-current-point-error.html">Cairo::NoCurrentPointError</a>が発生し
980
+ ます。</p>
981
+ <ul>
982
+ <li>dx: 新しい位置のX方向の補正値</li>
983
+ <li>dy: 新しい位置のY方向の補正値</li>
984
+ </ul></dd>
985
+ <dt><a name="label-92" id="label-92"><code>reset_clip</code></a></dt><!-- RDLabel: "reset_clip" -->
986
+ <dd>
987
+ <p>現在の切り取り領域を元のなにも制限されていない状態に戻
988
+ します。つまり、切り取り領域を対象サーフェスを含む無限
989
+ に大きな形に設定するということです。もし無限を理解する
990
+ ことが難しいなら、切り取り領域を対象サーフェスの境界と
991
+ まったく同じ大きさに設定しなおすと考えても同じことです。</p>
992
+ <p>コードを再利用可能にしたいなら、
993
+ <a href="cairo-context.html#label-92">Cairo::Context#reset_clip</a>を呼ばないように注意してくださ
994
+ い。そうしないと<a href="cairo-context.html#label-13">Cairo::Context#clip</a>を呼んでいる高レベル
995
+ なコードが予期しない結果になるでしょう。一時的に切り取
996
+ り領域を制限するより堅牢な方法は<a href="cairo-context.html#label-95">Cairo::Context#save</a>と
997
+ <a href="cairo-context.html#label-93">Cairo::Context#restore</a>で<a href="cairo-context.html#label-13">Cairo::Context#clip</a>を囲むことで
998
+ す。</p></dd>
999
+ <dt><a name="label-93" id="label-93"><code>restore</code></a></dt><!-- RDLabel: "restore" -->
1000
+ <dd>
1001
+ ひとつ前の<a href="cairo-context.html#label-95">Cairo::Context#save</a>で保存した状態を復元します。
1002
+ 復元された状態はスタックから削除されます。</dd>
1003
+ <dt><a name="label-94" id="label-94"><code>rotate(<var>angle</var>)</code></a></dt><!-- RDLabel: "rotate" -->
1004
+ <dd>
1005
+ <var>angle</var>ラジアンだけユーザ空間の軸を回転するように、
1006
+ 現在の変換行列(CTM)を変更します。すでに存在するユーザ
1007
+ 空間の変換のあとに軸の回転を行います。正の角度の回転方向
1008
+ は正のX軸から正のY軸に向かう方向です。
1009
+ <ul>
1010
+ <li>angle: ユーザ空間の軸を回転させる角度(ラジアン)</li>
1011
+ </ul></dd>
1012
+ <dt><a name="label-95" id="label-95"><code>save</code></a></dt><!-- RDLabel: "save" -->
1013
+ <dt><a name="label-96" id="label-96"><code>save {|<var>self</var>| ...}</code></a></dt><!-- RDLabel: "save" -->
1014
+ <dd>
1015
+ <p>現在の状態のコピーを作成し、保存された状態の内部スタッ
1016
+ クに保存します。<a href="cairo-context.html#label-93">Cairo::Context#restore</a>が呼ばれたときは、
1017
+ 保存された状態を復元します。複数の<a href="cairo-context.html#label-95">Cairo::Context#save</a>と
1018
+ <a href="cairo-context.html#label-93">Cairo::Context#restore</a>が入れ子にできます。各
1019
+ <a href="cairo-context.html#label-93">Cairo::Context#restore</a>は対応する<a href="cairo-context.html#label-95">Cairo::Context#save</a>が保
1020
+ 存した状態を復元します。</p>
1021
+ <p>ブロックを指定した場合はブロックを抜けるときに自動的に
1022
+ <a href="cairo-context.html#label-93">Cairo::Context#restore</a>を呼び出します。</p></dd>
1023
+ <dt><a name="label-97" id="label-97"><code>scale(<var>sx</var>, <var>sy</var>)</code></a></dt><!-- RDLabel: "scale" -->
1024
+ <dd>
1025
+ ユーザ空間のX軸とY軸をそれぞれ<var>sx</var>と<var>sy</var>で拡大す
1026
+ るように現在の変換行列を変更します。すでに存在するユー
1027
+ ザ空間の変換のあとに軸の拡大を行います。
1028
+ <ul>
1029
+ <li>sx: X方向の拡大率</li>
1030
+ <li>sy: Y方向の拡大率</li>
1031
+ </ul></dd>
1032
+ <dt><a name="label-98" id="label-98"><code>scaled_font</code></a></dt><!-- RDLabel: "scaled_font" -->
1033
+ <dd>
1034
+ <p>コンテキストに現在設定されている<a href="cairo-scaled-font.html">Cairo::ScaledFont</a>を返し
1035
+ ます。</p>
1036
+ <p>メモリがたりない場合はNoMemoryError例外が発生します。</p>
1037
+ <ul>
1038
+ <li>Returns: 現在の<a href="cairo-scaled-font.html">Cairo::ScaledFont</a></li>
1039
+ </ul></dd>
1040
+ <dt><a name="label-99" id="label-99"><code>scaled_font=(<var>font</var>)</code></a></dt><!-- RDLabel: "scaled_font=" -->
1041
+ <dt><a name="label-100" id="label-100"><code>set_scaled_font(<var>font</var>)</code></a></dt><!-- RDLabel: "set_scaled_font" -->
1042
+ <dd>
1043
+ 現在のフォントフェイス、フォント用行列、フォントオプショ
1044
+ ンを指定した<var>font</var>の値で置き換えます。いくつかの変
1045
+ 換をのぞいて、コンテキストの現在のCTMは<var>font</var>のCTM
1046
+ と同じであるべきです。<var>font</var>のCTMには
1047
+ <a href="cairo-scaled-font.html#label-5">Cairo::ScaledFont#ctm</a>でアクセスできます。
1048
+ <ul>
1049
+ <li>font: <a href="cairo-scaled-font.html">Cairo::ScaledFont</a>オブジェクト</li>
1050
+ </ul></dd>
1051
+ <dt><a name="label-101" id="label-101"><code>select_font_face(<var>family</var>, <var>slant</var>=<var>nil</var>, <var>weight</var>=<var>nil</var>)</code></a></dt><!-- RDLabel: "select_font_face" -->
1052
+ <dd>
1053
+ 単純化したフォント名、傾き、重みの説明からフォントファ
1054
+ ミリーとスタイルを選択します。このメソッドは単純なフォ
1055
+ ントが必要なアプリケーションだけが使うことを意図してい
1056
+ ます。つまり、cairoはシステムで利用可能な全てのフォント
1057
+ の一覧を返すなどというような操作は提供しません。多くの
1058
+ アプリケーションはcairoに加えてより包括的なフォント処理
1059
+ とテキスト配置ライブラリを使う必要があるでしょう。
1060
+ <ul>
1061
+ <li>family: UTF-8で符号化されたフォントファミリー名
1062
+ ("Sans"など)</li>
1063
+ <li>slant: フォントの傾き。:normalや:italicなど
1064
+ <a href="cairo-font-slant.html">Cairo::FontSlant</a>に定義されている定数名と同じもの。
1065
+ 大文字小文字は関係ありません。また、シンボル
1066
+ ではなくて文字列で"normal"のように指定することもでき
1067
+ ます。もちろん、<a href="cairo-font-slant.html">Cairo::FontSlant</a>に定義されている定数
1068
+ を指定することもできます。<code>nil</code>の場合はデフォルト
1069
+ 値として<a href="cairo-font-slant.html#label-3">Cairo::FontSlant::NORMAL</a>が使われます。</li>
1070
+ <li>weight: フォントの重み。:normalや:boldなど
1071
+ <a href="cairo-font-weight.html">Cairo::FontWeight</a>に定義されている定数名と同じもの。
1072
+ 大文字小文字は関係ありません。また、シンボルではなく
1073
+ て文字列で"normal"のように指定することもできます。も
1074
+ ちろん、<a href="cairo-font-weight.html">Cairo::FontWeight</a>を指定することもできます。
1075
+ <code>nil</code>の場合はデフォルト値として
1076
+ <a href="cairo-font-weight.html#label-3">Cairo::FontWeight::NORMAL</a>が使われます。</li>
1077
+ </ul></dd>
1078
+ <dt><a name="label-102" id="label-102"><code>set_dash(<var>dashes</var>, <var>offset</var>=<var>0</var>)</code></a></dt><!-- RDLabel: "set_dash" -->
1079
+ <dd>
1080
+ <p><a href="cairo-context.html#label-111">Cairo::Context#stroke</a>で使われるダッシュのパターンを設定
1081
+ します。ダッシュのパターンは正の値の配列として
1082
+ <var>dashes</var>で指定します。それぞれの値は描かれるときに
1083
+ 交互にon/offになる部分(線を描く部分と描かない部分)の
1084
+ 長さを表します。<var>offset</var>は描きが始まるときのパター
1085
+ ンの補正値を指定します。</p>
1086
+ <p>それぞれのonの部分は、その部分がサブパスでわかれて
1087
+ いるようにキャップを持つことになります。特に、パスに沿っ
1088
+ て丸・四角を分散させるために
1089
+ <a href="cairo-line-cap.html#label-3">Cairo::LineCap::ROUND</a>/<a href="cairo-line-cap.html#label-4">Cairo::LineCap::SQUARE</a>を設定して
1090
+ 0.0の長さのonを使う場合は有効です。</p>
1091
+ <p>注: 長さの値は描きのときに評価されたユーザ空間の単位で
1092
+ す。つまり、<a href="cairo-context.html#label-102">Cairo::Context#set_dash</a>のときにユーザ空間を
1093
+ 合わせる必要はありません。</p>
1094
+ <p>もし<var>dashes</var>が<code>nil</code>または空配列ならダッシュは無
1095
+ 効になります。</p>
1096
+ <p>もし、<var>dashes</var>が数値、あるいはひとつの数値だけを含
1097
+ む配列の場合は対照的なパターンであるとみなされ、onとoff
1098
+ の部分が指定されたサイズで交互に繰り返されます。</p>
1099
+ <p>もし、<var>dashes</var>のなかに負の値がある、またはすべての
1100
+ 値が0の場合は<a href="cairo-invalid-dash-error.html">Cairo::InvalidDashError</a>が発生します。</p>
1101
+ <ul>
1102
+ <li>dashes: on/offになる描きの部分の長さを交互に指定する
1103
+ 配列。つまり、<code>[描く長さ, 描かない長さ, 描く長さ,
1104
+ 描かない長さ, ...]</code>という配列です。<code>nil</code>または
1105
+ <code>[]</code>を指定するとダッシュは無効になります。数値を
1106
+ 指定することと<code>[数値]</code>を指定することは同じことで
1107
+ す。</li>
1108
+ <li>offset: ダッシュパターンを描きを始めるべき位置を補正
1109
+ する値。</li>
1110
+ </ul></dd>
1111
+ <dt><a name="label-103" id="label-103"><code>set_source(<var>source</var>)</code></a></dt><!-- RDLabel: "set_source" -->
1112
+ <dd>
1113
+ <p>コンテキストのソースパターンを<var>source</var>に設定します。
1114
+ このパターンは新しいソースパターンを指定するまでその後の
1115
+ すべての描画操作に使われます。</p>
1116
+ <p>注: パターンの変換行列は<a href="cairo-context.html#label-103">Cairo::Context#set_source</a>を使っ
1117
+ た時点のユーザ空間の効果に固定されます。これは、さらに現
1118
+ 在の変換行列を変更してもソースパターンには影響はないとい
1119
+ うことです。<a href="cairo-pattern.html#label-14">Cairo::Pattern#set_matrix</a>を見てください。</p>
1120
+ <ul>
1121
+ <li>source: 今後の描画操作で仕様する<a href="cairo-pattern.html">Cairo::Pattern</a>オブジェ
1122
+ クト。</li>
1123
+ </ul></dd>
1124
+ <dt><a name="label-104" id="label-104"><code>set_source_rgb(<var>red</var>, <var>green</var>, <var>blue</var>)</code></a></dt><!-- RDLabel: "set_source_rgb" -->
1125
+ <dt><a name="label-105" id="label-105"><code>set_source_rgba(<var>red</var>, <var>green</var>, <var>blue</var>, <var>alpha</var>=<var>1</var>.<var>0</var>)</code></a></dt><!-- RDLabel: "set_source_rgba" -->
1126
+ <dd>
1127
+ <p>コンテキストのソースパターンの色を指定します。
1128
+ <var>alpha</var>を指定することによって半透明にすることもでき
1129
+ ます。この色は新しいソースパターンが設定されるまで、この
1130
+ 後の全ての描画操作に使われます。</p>
1131
+ <p>色とアルファ値は0から1までの浮動小数点です。もし、この範
1132
+ 囲におさまらなかった場合は強制的にこの範囲におさめます。</p>
1133
+ <p>より簡単に色を指定したい場合は
1134
+ <a href="cairo-context.html#label-106">Cairo::Context#set_source_color</a>を使ってください。</p>
1135
+ <ul>
1136
+ <li>red: 色の赤の部分</li>
1137
+ <li>green: 色の緑の部分</li>
1138
+ <li>blue: 色の青の部分</li>
1139
+ <li>alpha: 色のアルファチャンネルの部分</li>
1140
+ </ul></dd>
1141
+ <dt><a name="label-106" id="label-106"><code>set_source_color(<var>color</var>)</code></a></dt><!-- RDLabel: "set_source_color" -->
1142
+ <dd>
1143
+ <a href="cairo-context-color.html#label-2">Cairo::Context::Color#set_source_color</a>を見てください。</dd>
1144
+ <dt><a name="label-107" id="label-107"><code>show_glyphs(<var>glyphs</var>)</code></a></dt><!-- RDLabel: "show_glyphs" -->
1145
+ <dd>
1146
+ グリフの配列から形を生成する描画操作です。描画には現在の
1147
+ フォントフェイス、フォントサイズ(フォント用変換行列)、
1148
+ フォントオプションを使います。
1149
+ <ul>
1150
+ <li>glyphs: <a href="cairo-glyph.html">Cairo::Glyph</a>の配列。</li>
1151
+ </ul></dd>
1152
+ <dt><a name="label-108" id="label-108"><code>show_page</code></a></dt><!-- RDLabel: "show_page" -->
1153
+ <dd>
1154
+ 現在のページを発行して消去します。これは複数ページをサポー
1155
+ トしているバックエンドのためです。もし、現在のページを
1156
+ 消去したくないのであれば<a href="cairo-context.html#label-20">Cairo::Context#copy_page</a>を使っ
1157
+ てください。</dd>
1158
+ <dt><a name="label-109" id="label-109"><code>show_text(<var>utf8</var>)</code></a></dt><!-- RDLabel: "show_text" -->
1159
+ <dd>
1160
+ <p>UTF-8文字列から形を生成する描画操作です。描画には現在の
1161
+ フォントフェイス、フォントサイズ(フォント用変換行列)、
1162
+ フォントオプションを使います。</p>
1163
+ <p>このメソッドははじめにテキストの文字列のためのグリフ一
1164
+ 式を計算します。最初のグリフは現在の点を基準に配置され
1165
+ ます。それ以降のグリフの基準は前のグリフが進めた基準点
1166
+ からの補正値になります。(?FIXME)</p>
1167
+ <p>呼び出した後は現在の点は同じように次のグリフを配置した
1168
+ ときに基準にする点に移動します。つまり、現在の点は最後
1169
+ のグリフが進めた値で相殺された最後のグリフの基準点とな
1170
+ ります。(?FIXME)これはひとつの論理的な文字列を複数の
1171
+ <a href="cairo-context.html#label-109">Cairo::Context#show_text</a>で簡単に表示できるようにします。</p>
1172
+ <p>注: <a href="cairo-context.html#label-109">Cairo::Context#show_text</a>はcairoの設計者がおもちゃの
1173
+ テキストAPIと呼んでいるものの一部です。短いデモや簡単な
1174
+ プログラムには便利ですが、真剣にテキストを使おうとして
1175
+ いるアプリケーションには適していないでしょう。cairoの本
1176
+ 当のテキスト表示APIは<a href="cairo-context.html#label-107">Cairo::Context#show_glyphs</a>を見てく
1177
+ ださい。</p>
1178
+ <ul>
1179
+ <li>utf8: UTF-8で符号化されたテキスト。</li>
1180
+ </ul></dd>
1181
+ <dt><a name="label-110" id="label-110"><code>source</code></a></dt><!-- RDLabel: "source" -->
1182
+ <dd>
1183
+ 現在のソースパターンを返します。
1184
+ <ul>
1185
+ <li>Returns: <a href="cairo-pattern.html">Cairo::Pattern</a>オブジェクト。</li>
1186
+ </ul></dd>
1187
+ <dt><a name="label-111" id="label-111"><code>stroke(<var>preserve</var>=<var>false</var>)</code></a></dt><!-- RDLabel: "stroke" -->
1188
+ <dt><a name="label-112" id="label-112"><code>stroke(<var>preserve</var>=<var>false</var>) {|<var>self</var>| ...}</code></a></dt><!-- RDLabel: "stroke" -->
1189
+ <dd>
1190
+ <p>現在のパスを現在の線幅、結合点、キャップ、ダッシュの設
1191
+ 定にしたがって描く描画操作です。<var>preserve</var>が偽の場
1192
+ 合は呼び出した後は現在のパスは消去されます。以下も見て
1193
+ ください。</p>
1194
+ <ul>
1195
+ <li><a href="cairo-context.html#label-66">Cairo::Context#set_line_width</a></li>
1196
+ <li><a href="cairo-context.html#label-62">Cairo::Context#set_line_join</a></li>
1197
+ <li><a href="cairo-context.html#label-59">Cairo::Context#set_line_cap</a></li>
1198
+ <li><a href="cairo-context.html#label-102">Cairo::Context#set_dash</a></li>
1199
+ </ul>
1200
+ <p>ブロックを指定した場合は、<a href="cairo-context.html#label-76">Cairo::Context#new_path</a>で新し
1201
+ いパスをはじめてからブロックを呼び出します。以下のよう
1202
+ に使います。</p>
1203
+ <pre>context.stroke do
1204
+ context.rectangle(20, 20, 40, 40)
1205
+ end</pre>
1206
+ <p>これは以下と等価です。</p>
1207
+ <pre>context.new_path
1208
+ context.rectangle(20, 20, 40, 40)
1209
+ context.stroke</pre>
1210
+ <p>注: 退化した(?FIXME)線分とサブパスは特別扱いされ、便
1211
+ 利な結果を提供します。それらはふたつの異なった状況にな
1212
+ ります。</p>
1213
+ <ol>
1214
+ <li><a href="cairo-context.html#label-102">Cairo::Context#set_dash</a>で設定された長さ0のon線分。
1215
+ もし、キャップスタイルが<a href="cairo-line-cap.html#label-3">Cairo::LineCap::ROUND</a>か
1216
+ <a href="cairo-line-cap.html#label-4">Cairo::LineCap::SQUARE</a>ならそれらの線分はそれぞれ
1217
+ 丸い点あるいは四角として描画されます。
1218
+ <a href="cairo-line-cap.html#label-4">Cairo::LineCap::SQUARE</a>の場合は四角の方向はその下
1219
+ にあるパスの方向によって決まります。</li>
1220
+ <li><a href="cairo-context.html#label-75">Cairo::Context#move_to</a>とその後の
1221
+ <a href="cairo-context.html#label-19">Cairo::Context#close_path</a>あるいは最初の
1222
+ <a href="cairo-context.html#label-75">Cairo::Context#move_to</a>と同じ座標に対する1回以上の
1223
+ <a href="cairo-context.html#label-63">Cairo::Context#line_to</a>で作られたサブパス。キャッ
1224
+ プスタイルが<a href="cairo-line-cap.html#label-3">Cairo::LineCap::ROUND</a>ならサブパスは丸
1225
+ い点として描画されるでしょう。
1226
+ <a href="cairo-line-cap.html#label-4">Cairo::LineCap::SQUARE</a>の場合は退化したサブパスは
1227
+ 全く描画されないことに注意してください。(なぜな
1228
+ ら正しい向きが決定できないから。)</li>
1229
+ </ol>
1230
+ <p><a href="cairo-line-cap.html#label-2">Cairo::LineCap::BUTT</a>なら退化した線分やサブパスの場合は
1231
+ 何も描画されません。</p>
1232
+ <ul>
1233
+ <li>preserve: 真の場合はパスを消去しない</li>
1234
+ </ul></dd>
1235
+ <dt><a name="label-113" id="label-113"><code>stroke_extents</code></a></dt><!-- RDLabel: "stroke_extents" -->
1236
+ <dd>
1237
+ <p>現在のパスと描きパラメータで<a href="cairo-context.html#label-111">Cairo::Context#stroke</a>を呼び
1238
+ 出したときに影響がある範囲を覆うユーザ空間のバウンディ
1239
+ ングボックスを計算します。現在のパスが空なら空の四
1240
+ 角(0,0, 0,0)を返します。サーフェスの大きさと切り取り領
1241
+ 域は関係ありません。</p>
1242
+ <p>以下も見てください。</p>
1243
+ <ul>
1244
+ <li><a href="cairo-context.html">Cairo::Context#cairo_stroke</a></li>
1245
+ <li><a href="cairo-context.html#label-66">Cairo::Context#set_line_width</a></li>
1246
+ <li><a href="cairo-context.html#label-62">Cairo::Context#set_line_join</a></li>
1247
+ <li><a href="cairo-context.html#label-59">Cairo::Context#set_line_cap</a></li>
1248
+ <li><a href="cairo-context.html#label-102">Cairo::Context#set_dash</a></li>
1249
+ </ul>
1250
+ <ul>
1251
+ <li>Returns: <code>[x1, y1, x2, y2]</code>:
1252
+ <ul>
1253
+ <li>x1: バウンディングボックスの左</li>
1254
+ <li>y1: バウンディングボックスの上</li>
1255
+ <li>x2: バウンディングボックスの右</li>
1256
+ <li>y2: バウンディングボックスの下</li>
1257
+ </ul></li>
1258
+ </ul></dd>
1259
+ <dt><a name="label-114" id="label-114"><code>stroke_preserve</code></a></dt><!-- RDLabel: "stroke_preserve" -->
1260
+ <dt><a name="label-115" id="label-115"><code>stroke_preserve {|<var>self</var>| ...}</code></a></dt><!-- RDLabel: "stroke_preserve" -->
1261
+ <dd>
1262
+ <p><a href="cairo-context.html#label-111">Cairo::Context#stroke</a>を以下のように呼び出すことと同じです。</p>
1263
+ <pre>context.stroke(true)
1264
+ context.stroke(true) { ... }</pre></dd>
1265
+ <dt><a name="label-116" id="label-116"><code>target</code></a></dt><!-- RDLabel: "target" -->
1266
+ <dd>
1267
+ <a href="cairo-context.html#label-4">Cairo::Context.new</a>に渡されたコンテキストの対象とするサー
1268
+ フェスを返します。
1269
+ <ul>
1270
+ <li>Returns: 対象のサーフェス。<a href="cairo-surface.html">Cairo::Surface</a>のサブクラス
1271
+ のオブジェクト。</li>
1272
+ </ul></dd>
1273
+ <dt><a name="label-117" id="label-117"><code>text_extents(<var>utf8</var>)</code></a></dt><!-- RDLabel: "text_extents" -->
1274
+ <dd>
1275
+ <p>テキストの範囲を返します。範囲はテキストをインクで塗る
1276
+ 部分(テキストが描画される部分)を囲む(ユーザ空間での)
1277
+ 示しています。さらに、範囲(<a href="cairo-text-extents.html">Cairo::TextExtents</a>)の
1278
+ <var>x_advance</var>と<var>y_advance</var>の値は
1279
+ <a href="cairo-context.html#label-107">Cairo::Context#show_glyphs</a>が進める現在の点の合計を示し
1280
+ ています。(<a href="cairo-context.html#label-109">Cairo::Context#show_text</a>はテキストを描画す
1281
+ ると、描画した分だけ現在の点を進めます。)</p>
1282
+ <p>空白文字は四角のサイズ(extents.widthとextents.height)
1283
+ に貢献しないことに注意してください。空白文字は非空白文
1284
+ 字の位置を変更することにより間接的に貢献しています。特
1285
+ に、テキストの最後の空白文字は四角のサイズには影響を与
1286
+ えませんが、<var>x_advance</var>と<var>y_advance</var>の値には影
1287
+ 響を与えます。</p>
1288
+ <ul>
1289
+ <li>utf8: UTF-8で符号化されたテキスト。</li>
1290
+ <li>Returns: テキストの範囲を示す<a href="cairo-text-extents.html">Cairo::TextExtents</a>オブジェ
1291
+ クト。</li>
1292
+ </ul></dd>
1293
+ <dt><a name="label-118" id="label-118"><code>text_path(<var>utf8</var>)</code></a></dt><!-- RDLabel: "text_path" -->
1294
+ <dd>
1295
+ <p>テキストの閉じたパスを現在のパスに追加します。生成され
1296
+ たを塗りつぶすと<a href="cairo-context.html#label-109">Cairo::Context#show_text</a>と同じような効
1297
+ 果が得られます。</p>
1298
+ <p>テキストの変換と配置は<a href="cairo-context.html#label-109">Cairo::Context#show_text</a>と同じよ
1299
+ うに行われます。</p>
1300
+ <p><a href="cairo-context.html#label-109">Cairo::Context#show_text</a>のように、呼び出した後、現在の点
1301
+ は同じように次のグリフを配置したときに基準にする点に移
1302
+ 動します。つまり、現在の点は最後のグリフが進めた値で相殺
1303
+ された最後のグリフの基準点となります。(?FIXME)このた
1304
+ め、現在の点を設定しないで複数の
1305
+ <a href="cairo-context.html#label-118">Cairo::Context#text_path</a>を連続で呼び出せるようになりま
1306
+ す。</p>
1307
+ <p>注: <a href="cairo-context.html#label-118">Cairo::Context#text_path</a>はcairoの設計者がおもちゃの
1308
+ テキストAPIと呼んでいるものの一部です。短いデモや簡単な
1309
+ プログラムには便利ですが、真剣にテキストを使おうとして
1310
+ いるアプリケーションには適していないでしょう。cairoの本
1311
+ 当のテキスト表示APIは<a href="cairo-context.html#label-50">Cairo::Context#glyph_path</a>を見てく
1312
+ ださい。</p>
1313
+ <ul>
1314
+ <li>utf8: UTF-8で符号化れたテキスト。</li>
1315
+ </ul></dd>
1316
+ <dt><a name="label-119" id="label-119"><code>tolerance</code></a></dt><!-- RDLabel: "tolerance" -->
1317
+ <dd>
1318
+ <a href="cairo-context.html#label-121">Cairo::Context#set_tolerance</a>で設定した現在の許容値を返します。
1319
+ <ul>
1320
+ <li>Returns: 現在の許容値。</li>
1321
+ </ul></dd>
1322
+ <dt><a name="label-120" id="label-120"><code>tolerance=(<var>tolerance</var>)</code></a></dt><!-- RDLabel: "tolerance=" -->
1323
+ <dt><a name="label-121" id="label-121"><code>set_tolerance(<var>tolerance</var>)</code></a></dt><!-- RDLabel: "set_tolerance" -->
1324
+ <dd>
1325
+ パスを台形に変換するときに使う許容値を設定します。パス
1326
+ の円弧の部分は、元のパスとポリゴン近似の最大偏差が
1327
+ <var>tolerance</var>より小さくなるまで再分割されます。デフォ
1328
+ ルト値は0.1です。大きな値はよりパフォーマンスがよくなる
1329
+ でしょうし、小さい値ならよりより見栄えになるでしょう。
1330
+ (デフォルト値0.1から減らしてもそれほど見栄えは改善され
1331
+ ないでしょう。)
1332
+ <ul>
1333
+ <li>tolerance: 装置単位(普通はピクセル)での許容値。</li>
1334
+ </ul></dd>
1335
+ <dt><a name="label-122" id="label-122"><code>transform(<var>matrix</var>)</code></a></dt><!-- RDLabel: "transform" -->
1336
+ <dd>
1337
+ 追加の変換として<var>matrix</var>を適用して現在の変換行列
1338
+ (CTM)を変更します。ユーザ空間の新しい変換はすべての既
1339
+ 存の変換の後に行われます。</dd>
1340
+ <dt><a name="label-123" id="label-123"><code>transform_path(<var>path</var>) {|<var>x</var>, <var>y</var>| ...}</code></a></dt><!-- RDLabel: "transform_path" -->
1341
+ <dd>
1342
+ <a href="cairo-context-path.html#label-3">Cairo::Context::Path#transform_path</a>を見てください。</dd>
1343
+ <dt><a name="label-124" id="label-124"><code>translate(<var>tx</var>, <var>ty</var>)</code></a></dt><!-- RDLabel: "translate" -->
1344
+ <dd>
1345
+ ユーザ空間の基準点を(<var>tx</var>, <var>ty</var>)に動かすことに
1346
+ より現在の変換行列(CTM)を変更します。この補正値
1347
+ ((<var>tx</var>, <var>ty</var>))は<a href="cairo-context.html#label-124">Cairo::Context#translate</a>を適
1348
+ 用する前のCTMにしたがってユーザ空間座標として解釈されま
1349
+ す。言い替えると、ユーザ空間の基準点の移動はすべての既
1350
+ 存の変換の後に行われます。
1351
+ <ul>
1352
+ <li>tx: X方向への移動量</li>
1353
+ <li>ty: Y方向への移動量</li>
1354
+ </ul></dd>
1355
+ <dt><a name="label-125" id="label-125"><code>user_to_device(<var>x</var>, <var>y</var>)</code></a></dt><!-- RDLabel: "user_to_device" -->
1356
+ <dd>
1357
+ ユーザ空間から装置空間へ座標を変換します。変換は与え
1358
+ られた点に現在の変換行列(CTM)を乗じることによって行わ
1359
+ れます。
1360
+ <ul>
1361
+ <li>x: ユーザ空間座標のX値</li>
1362
+ <li>y: ユーザ空間座標のY値</li>
1363
+ <li>Returns: <code>[dx, dy]</code>
1364
+ <ul>
1365
+ <li>dx: 装置空間座標のX値</li>
1366
+ <li>dy: 装置空間座標のY値</li>
1367
+ </ul></li>
1368
+ </ul></dd>
1369
+ <dt><a name="label-126" id="label-126"><code>user_to_device_distance(<var>dx</var>, <var>dy</var>)</code></a></dt><!-- RDLabel: "user_to_device_distance" -->
1370
+ <dd>
1371
+ ユーザ空間から装置空間へ距離ベクトルを変換します。
1372
+ <a href="cairo-context.html#label-125">Cairo::Context#user_to_device</a>に似ていますが、(<var>dx</var>,
1373
+ <var>dy</var>)を変換するときにCTMの移動成分は無視されます。
1374
+ <ul>
1375
+ <li>dx: ユーザ空間の距離ベクトルのX値</li>
1376
+ <li>dy: ユーザ空間の距離ベクトルのY値</li>
1377
+ <li>Returns: <code>[ddx, ddy]</code>
1378
+ <ul>
1379
+ <li>ddx: 装置空間の距離ベクトルのX値</li>
1380
+ <li>ddy: 装置空間の距離ベクトルのY値</li>
1381
+ </ul></li>
1382
+ </ul></dd>
1383
+ <dt><a name="label-127" id="label-127"><code>map_path_onto(<var>path</var>)</code></a></dt><!-- RDLabel: "map_path_onto" -->
1384
+ <dd>
1385
+ <a href="cairo-context-path.html#label-2">Cairo::Context::Path#map_path_onto</a>を見てください。</dd>
1386
+ <dt><a name="label-128" id="label-128"><code>pseudo_blur(<var>radius</var>=<var>3</var>) {|<var>self</var>| ...}</code></a></dt><!-- RDLabel: "pseudo_blur" -->
1387
+ <dd>
1388
+ <a href="cairo-context-blur.html#label-2">Cairo::Context::Blur#pseudo_blur</a>を見てください。</dd>
1389
+ <dt><a name="label-129" id="label-129"><code>triangle(<var>x1</var>, <var>y1</var>, <var>x2</var>, <var>y2</var>, <var>x3</var>, <var>y3</var>)</code></a></dt><!-- RDLabel: "triangle" -->
1390
+ <dd>
1391
+ <a href="cairo-context-triangle.html#label-2">Cairo::Context::Triangle#triangle</a>を見てください。</dd>
1392
+ <dt><a name="label-130" id="label-130"><code>has_current_point?</code></a></dt><!-- RDLabel: "has_current_point?" -->
1393
+ <dt><a name="label-131" id="label-131"><code>have_current_point?</code></a></dt><!-- RDLabel: "have_current_point?" -->
1394
+ <dd>
1395
+ <em>Since 1.6</em>: 現在のパス上に現在の点が定義されている
1396
+ かを返します。「現在の点」の詳細は
1397
+ <a href="cairo-context.html#label-23">Cairo::Context#current_point</a>を見てください。
1398
+ <ul>
1399
+ <li>Returns: 現在の点が定義されているかどうかの真偽値</li>
1400
+ </ul></dd>
1401
+ <dt><a name="label-132" id="label-132"><code>path_extents</code></a></dt><!-- RDLabel: "path_extents" -->
1402
+ <dd>
1403
+ <p><em>Since 1.6</em>: 現在のパス上の点を服務ユーザ空間座標の
1404
+ バウンディングボックスを計算します。もし、現在のパスが空
1405
+ であれば空の長方形((0,0), (0,0))を返します。ストロー
1406
+ クのパラメータ、塗りつぶし規則、サーフェスの大きさ、ク
1407
+ リップされた範囲は考慮しません。</p>
1408
+ <p><a href="cairo-context.html#label-31">Cairo::Context#fill_extents</a>と
1409
+ <a href="cairo-context.html#label-113">Cairo::Context#stroke_extents</a>は、対応
1410
+ する描画操作で「インクが塗られる」範囲だけを返します。</p>
1411
+ <p><a href="cairo-context.html#label-132">Cairo::Context#path_extents</a>の結果は
1412
+ 線の太さがほぼ0.0で、<a href="cairo.html#label-44">Cairo::LINE_CAP_ROUND</a>の時の
1413
+ <a href="cairo-context.html#label-113">Cairo::Context#stroke_extents</a>の境界と等しくなるように定
1414
+ 義されています。(ただし、線の太さが0.0の時に
1415
+ <a href="cairo-context.html#label-113">Cairo::Context#stroke_extents</a>が返す空の長方形には決して
1416
+ なりません。)</p>
1417
+ <p>厳密に言うと、以下のような領域のないサブパスは結果の範
1418
+ 囲に影響します。(以下の両方のメソッド呼び出しの座標が
1419
+ 同じ場合も含む)</p>
1420
+ <pre>context.move_to(...)
1421
+ context.line_to(...)</pre>
1422
+ <p>しかし、<a href="cairo-context.html#label-75">Cairo::Context#move_to</a>だけの場合は
1423
+ <a href="cairo-context.html#label-132">Cairo::Context#path_extents</a>の結果には影響がありません。</p>
1424
+ <ul>
1425
+ <li>Returns: パスを含むバウンディングボックス。左上の頂点
1426
+ が(x1, y1)で右下の頂点が(x2, y2)の長方形を表す配列:
1427
+ [x1, y1, x2, y2]</li>
1428
+ </ul></dd>
1429
+ </dl>
1430
+ <h2><a name="label-133" id="label-133">参考</a></h2><!-- RDLabel: "参考" -->
1431
+ <ul>
1432
+ <li><a href="index.html#label-0">索引</a></li>
1433
+ </ul>
1434
+ <h2><a name="label-134" id="label-134">変更履歴</a></h2><!-- RDLabel: "変更履歴" -->
1435
+ <ul>
1436
+ <li>2008-04-11: kou: 1.6.0対応。</li>
1437
+ <li>2007-05-20: kou: 定数の扱いについて更新。</li>
1438
+ <li>2007-05-19: kou: 初期バージョン完成。</li>
1439
+ </ul>
1440
+
1441
+ <div class="footer">
1442
+ <ul>
1443
+ <li><a href="./">索引</a></li>
1444
+ </ul>
1445
+
1446
+ </div>
1447
+ </body>
1448
+
1449
+ </html>