cairo 1.6.1-x86-mswin32 → 1.7.0-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 (410) hide show
  1. data/ChangeLog +285 -0
  2. data/NEWS +33 -0
  3. data/README +15 -4
  4. data/Rakefile +3 -0
  5. data/cairo/bin/libcairo-2.dll +0 -0
  6. data/cairo/bin/libpng12-0.dll +0 -0
  7. data/cairo/include/{libpng13/png.h → png.h} +285 -135
  8. data/cairo/include/{libpng13/pngconf.h → pngconf.h} +116 -72
  9. data/cairo/lib/cairo.lib +0 -0
  10. data/cairo/lib/libcairo.dll.a +0 -0
  11. data/cairo/lib/libpng.def +361 -371
  12. data/cairo/lib/libpng.lib +0 -0
  13. data/cairo/lib/libpng12.dll.a +0 -0
  14. data/cairo/lib/pkgconfig/cairo-pdf.pc +1 -1
  15. data/cairo/lib/pkgconfig/cairo-png.pc +2 -2
  16. data/cairo/lib/pkgconfig/cairo-ps.pc +1 -1
  17. data/cairo/lib/pkgconfig/cairo-svg.pc +1 -1
  18. data/cairo/lib/pkgconfig/cairo-win32-font.pc +1 -1
  19. data/cairo/lib/pkgconfig/cairo-win32.pc +1 -1
  20. data/cairo/lib/pkgconfig/cairo.pc +2 -2
  21. data/cairo/lib/pkgconfig/libpng.pc +10 -14
  22. data/cairo/lib/pkgconfig/libpng12.pc +10 -0
  23. data/cairo/make/{cairo-1.6.4-1.sh → cairo-1.6.4-2.sh} +3 -3
  24. data/cairo/make/libpng-1.2.29.sh +35 -0
  25. data/cairo/manifest/cairo-1.6.4-2.mft +6 -0
  26. data/cairo/manifest/{cairo-dev-1.6.4-1.mft → cairo-dev-1.6.4-2.mft} +2 -2
  27. data/cairo/manifest/libpng-1.2.29.mft +2 -0
  28. data/cairo/manifest/libpng-dev-1.2.29.mft +12 -0
  29. data/cairo/share/doc/{cairo-1.6.4-1 → cairo-1.6.4-2}/COPYING +0 -0
  30. data/cairo/share/doc/{cairo-1.6.4-1 → cairo-1.6.4-2}/COPYING-LGPL-2.1 +0 -0
  31. data/cairo/share/doc/{cairo-1.6.4-1 → cairo-1.6.4-2}/COPYING-MPL-1.1 +0 -0
  32. data/cairo/share/man/man3/libpng.3 +3680 -0
  33. data/cairo/share/man/man3/libpngpf.3 +274 -0
  34. data/cairo/share/man/man5/png.5 +74 -0
  35. data/doc/en/cairo-antialias.html +0 -3
  36. data/doc/en/cairo-clip-not-representable-error.html +0 -3
  37. data/doc/en/cairo-color-base.html +0 -3
  38. data/doc/en/cairo-color-cmyk.html +0 -3
  39. data/doc/en/cairo-color-hsv.html +0 -3
  40. data/doc/en/cairo-color-rgb.html +0 -3
  41. data/doc/en/cairo-color-x11.html +0 -3
  42. data/doc/en/cairo-color.html +0 -3
  43. data/doc/en/cairo-content.html +0 -3
  44. data/doc/en/cairo-context-blur.html +0 -3
  45. data/doc/en/cairo-context-circle.html +0 -3
  46. data/doc/en/cairo-context-color.html +0 -3
  47. data/doc/en/cairo-context-path.html +0 -3
  48. data/doc/en/cairo-context-rectangle.html +0 -3
  49. data/doc/en/cairo-context-triangle.html +0 -3
  50. data/doc/en/cairo-context.html +119 -102
  51. data/doc/en/cairo-error.html +0 -3
  52. data/doc/en/cairo-extend.html +0 -3
  53. data/doc/en/cairo-file-not-found.html +0 -3
  54. data/doc/en/cairo-fill-rule.html +0 -3
  55. data/doc/en/cairo-filter.html +0 -3
  56. data/doc/en/cairo-font-extents.html +67 -12
  57. data/doc/en/cairo-font-face.html +0 -3
  58. data/doc/en/cairo-font-options.html +26 -14
  59. data/doc/en/cairo-font-slant.html +0 -3
  60. data/doc/en/cairo-font-type-mismatch.html +47 -0
  61. data/doc/en/cairo-font-weight.html +0 -3
  62. data/doc/en/cairo-format.html +0 -3
  63. data/doc/en/cairo-glyph.html +0 -3
  64. data/doc/en/cairo-gradient-pattern.html +0 -3
  65. data/doc/en/cairo-hint-metrics.html +0 -3
  66. data/doc/en/cairo-hint-style.html +0 -3
  67. data/doc/en/cairo-image-surface.html +0 -3
  68. data/doc/en/cairo-invalid-clusters.html +47 -0
  69. data/doc/en/cairo-invalid-content-error.html +0 -3
  70. data/doc/en/cairo-invalid-dash-error.html +0 -3
  71. data/doc/en/cairo-invalid-dsc-comment-error.html +0 -3
  72. data/doc/en/cairo-invalid-format-error.html +0 -3
  73. data/doc/en/cairo-invalid-index-error.html +0 -3
  74. data/doc/en/cairo-invalid-matrix-error.html +0 -3
  75. data/doc/en/cairo-invalid-path-data-error.html +0 -3
  76. data/doc/en/cairo-invalid-pop-group-error.html +0 -3
  77. data/doc/en/cairo-invalid-restore-error.html +0 -3
  78. data/doc/en/cairo-invalid-slant.html +47 -0
  79. data/doc/en/cairo-invalid-status-error.html +0 -3
  80. data/doc/en/cairo-invalid-stride-error.html +0 -3
  81. data/doc/en/cairo-invalid-string-error.html +0 -3
  82. data/doc/en/cairo-invalid-visual-error.html +0 -3
  83. data/doc/en/cairo-invalid-weight.html +47 -0
  84. data/doc/en/cairo-lcd-filter.html +39 -0
  85. data/doc/en/cairo-line-cap.html +0 -3
  86. data/doc/en/cairo-line-join.html +0 -3
  87. data/doc/en/cairo-linear-pattern.html +0 -3
  88. data/doc/en/cairo-matrix.html +43 -41
  89. data/doc/en/cairo-negative-count.html +47 -0
  90. data/doc/en/cairo-no-current-point-error.html +0 -3
  91. data/doc/en/cairo-null-pointer-error.html +0 -3
  92. data/doc/en/cairo-operator.html +0 -3
  93. data/doc/en/cairo-paper-parse-error.html +0 -3
  94. data/doc/en/cairo-paper-unknown-paper-name.html +0 -3
  95. data/doc/en/cairo-paper-unknown-unit.html +0 -3
  96. data/doc/en/cairo-paper-unrecognized-paper-description.html +0 -3
  97. data/doc/en/cairo-paper.html +0 -3
  98. data/doc/en/cairo-path-close-path.html +0 -3
  99. data/doc/en/cairo-path-curve-to.html +0 -3
  100. data/doc/en/cairo-path-data-type.html +0 -3
  101. data/doc/en/cairo-path-data.html +0 -3
  102. data/doc/en/cairo-path-line-to.html +0 -3
  103. data/doc/en/cairo-path-move-to.html +0 -3
  104. data/doc/en/cairo-path.html +0 -3
  105. data/doc/en/cairo-pattern-type-mismatch-error.html +0 -3
  106. data/doc/en/cairo-pattern.html +0 -3
  107. data/doc/en/cairo-pdf-surface.html +0 -3
  108. data/doc/en/cairo-point.html +0 -3
  109. data/doc/en/cairo-ps-level.html +0 -3
  110. data/doc/en/cairo-ps-surface.html +0 -3
  111. data/doc/en/cairo-quartz-image-surface.html +0 -3
  112. data/doc/en/cairo-quartz-surface.html +0 -3
  113. data/doc/en/cairo-radial-pattern.html +0 -3
  114. data/doc/en/cairo-read-error.html +0 -3
  115. data/doc/en/cairo-rectangle.html +0 -3
  116. data/doc/en/cairo-scaled-font.html +13 -6
  117. data/doc/en/cairo-solid-pattern.html +0 -3
  118. data/doc/en/cairo-subpixel-order.html +0 -3
  119. data/doc/en/cairo-surface-finished-error.html +0 -3
  120. data/doc/en/cairo-surface-pattern.html +0 -3
  121. data/doc/en/cairo-surface-type-mismatch-error.html +0 -3
  122. data/doc/en/cairo-surface.html +22 -15
  123. data/doc/en/cairo-svg-surface.html +0 -3
  124. data/doc/en/cairo-svg-version.html +0 -3
  125. data/doc/en/cairo-temp-file-error.html +0 -3
  126. data/doc/en/cairo-text-cluster.html +84 -0
  127. data/doc/en/cairo-text-extents.html +78 -13
  128. data/doc/en/cairo-toy-font-face.html +67 -0
  129. data/doc/en/cairo-user-font-error.html +47 -0
  130. data/doc/en/cairo-user-font-face-text-to-glyphs-data.html +94 -0
  131. data/doc/en/cairo-user-font-face.html +72 -0
  132. data/doc/en/cairo-user-font-immutable.html +47 -0
  133. data/doc/en/cairo-win32-printing-surface.html +0 -3
  134. data/doc/en/cairo-win32-surface.html +0 -3
  135. data/doc/en/cairo-write-error.html +0 -3
  136. data/doc/en/cairo.html +92 -80
  137. data/doc/en/index.html +327 -240
  138. data/doc/ja/cairo-clip-not-representable-error.html +1 -1
  139. data/doc/ja/cairo-color-base.html +1 -1
  140. data/doc/ja/cairo-color-cmyk.html +9 -9
  141. data/doc/ja/cairo-color-hsv.html +8 -8
  142. data/doc/ja/cairo-color-rgb.html +9 -9
  143. data/doc/ja/cairo-color.html +8 -8
  144. data/doc/ja/cairo-context-circle.html +1 -1
  145. data/doc/ja/cairo-context-color.html +1 -1
  146. data/doc/ja/cairo-context-path.html +2 -2
  147. data/doc/ja/cairo-context.html +435 -342
  148. data/doc/ja/cairo-font-extents.html +69 -15
  149. data/doc/ja/cairo-font-face.html +3 -3
  150. data/doc/ja/cairo-font-options.html +37 -12
  151. data/doc/ja/cairo-font-slant.html +1 -1
  152. data/doc/ja/cairo-font-type-mismatch.html +52 -0
  153. data/doc/ja/cairo-glyph.html +5 -5
  154. data/doc/ja/cairo-gradient-pattern.html +6 -6
  155. data/doc/ja/cairo-image-surface.html +8 -8
  156. data/doc/ja/cairo-invalid-clusters.html +55 -0
  157. data/doc/ja/cairo-invalid-restore-error.html +1 -1
  158. data/doc/ja/cairo-invalid-slant.html +57 -0
  159. data/doc/ja/cairo-invalid-weight.html +57 -0
  160. data/doc/ja/cairo-lcd-filter.html +63 -0
  161. data/doc/ja/cairo-line-join.html +1 -1
  162. data/doc/ja/cairo-linear-pattern.html +2 -2
  163. data/doc/ja/cairo-matrix.html +35 -24
  164. data/doc/ja/cairo-negative-count.html +52 -0
  165. data/doc/ja/cairo-paper-unknown-paper-name.html +2 -2
  166. data/doc/ja/cairo-paper-unknown-unit.html +2 -2
  167. data/doc/ja/cairo-paper-unrecognized-paper-description.html +1 -1
  168. data/doc/ja/cairo-paper.html +12 -12
  169. data/doc/ja/cairo-path-close-path.html +1 -1
  170. data/doc/ja/cairo-path-curve-to.html +1 -1
  171. data/doc/ja/cairo-path-data.html +8 -8
  172. data/doc/ja/cairo-path-line-to.html +1 -1
  173. data/doc/ja/cairo-path-move-to.html +1 -1
  174. data/doc/ja/cairo-path.html +21 -21
  175. data/doc/ja/cairo-pattern.html +4 -4
  176. data/doc/ja/cairo-pdf-surface.html +2 -2
  177. data/doc/ja/cairo-point.html +5 -5
  178. data/doc/ja/cairo-ps-level.html +2 -2
  179. data/doc/ja/cairo-ps-surface.html +6 -6
  180. data/doc/ja/cairo-quartz-image-surface.html +2 -2
  181. data/doc/ja/cairo-quartz-surface.html +3 -3
  182. data/doc/ja/cairo-radial-pattern.html +2 -2
  183. data/doc/ja/cairo-rectangle.html +5 -5
  184. data/doc/ja/cairo-scaled-font.html +53 -17
  185. data/doc/ja/cairo-solid-pattern.html +3 -3
  186. data/doc/ja/cairo-surface-pattern.html +2 -2
  187. data/doc/ja/cairo-surface.html +58 -36
  188. data/doc/ja/cairo-svg-surface.html +4 -4
  189. data/doc/ja/cairo-svg-version.html +2 -2
  190. data/doc/ja/cairo-text-cluster.html +102 -0
  191. data/doc/ja/cairo-text-extents.html +84 -22
  192. data/doc/ja/cairo-toy-font-face.html +107 -0
  193. data/doc/ja/cairo-user-font-error.html +55 -0
  194. data/doc/ja/cairo-user-font-face-text-to-glyphs-data.html +155 -0
  195. data/doc/ja/cairo-user-font-face.html +268 -0
  196. data/doc/ja/cairo-user-font-immutable.html +54 -0
  197. data/doc/ja/cairo-win32-printing-surface.html +3 -3
  198. data/doc/ja/cairo-win32-surface.html +4 -4
  199. data/doc/ja/cairo.html +110 -77
  200. data/doc/ja/index.html +292 -205
  201. data/extconf.rb +3 -1
  202. data/misc/update-colors.rb +0 -0
  203. data/pkg-config.rb +54 -28
  204. data/samples/agg/aa_test.rb +0 -0
  205. data/samples/blur.rb +0 -0
  206. data/samples/png.rb +0 -0
  207. data/samples/scalable.rb +0 -0
  208. data/samples/text-on-path.rb +0 -0
  209. data/samples/text2.rb +0 -0
  210. data/src/cairo.def +8 -0
  211. data/src/cairo.so +0 -0
  212. data/src/lib/cairo.rb +12 -7
  213. data/src/lib/cairo/constants.rb +1 -0
  214. data/src/libruby-cairo.a +0 -0
  215. data/src/rb_cairo.c +25 -3
  216. data/src/rb_cairo.h +29 -18
  217. data/src/rb_cairo_constants.c +39 -10
  218. data/src/rb_cairo_context.c +156 -15
  219. data/src/rb_cairo_exception.c +143 -3
  220. data/src/rb_cairo_font_extents.c +81 -6
  221. data/src/rb_cairo_font_face.c +646 -4
  222. data/src/rb_cairo_font_options.c +24 -2
  223. data/src/rb_cairo_glyph.c +5 -3
  224. data/src/rb_cairo_matrix.c +17 -1
  225. data/src/rb_cairo_pattern.c +4 -4
  226. data/src/rb_cairo_private.c +169 -5
  227. data/src/rb_cairo_private.h +45 -3
  228. data/src/rb_cairo_scaled_font.c +61 -3
  229. data/src/rb_cairo_surface.c +174 -59
  230. data/src/rb_cairo_text_cluster.c +151 -0
  231. data/src/rb_cairo_text_extents.c +85 -2
  232. data/test-unit/Rakefile +30 -0
  233. data/test-unit/bin/testrb +5 -0
  234. data/test-unit/lib/test/unit.rb +280 -0
  235. data/test-unit/lib/test/unit/assertionfailederror.rb +14 -0
  236. data/test-unit/lib/test/unit/assertions.rb +722 -0
  237. data/test-unit/lib/test/unit/attribute.rb +125 -0
  238. data/test-unit/lib/test/unit/autorunner.rb +254 -0
  239. data/test-unit/lib/test/unit/collector.rb +43 -0
  240. data/test-unit/lib/test/unit/collector/descendant.rb +23 -0
  241. data/test-unit/lib/test/unit/collector/dir.rb +108 -0
  242. data/test-unit/lib/test/unit/collector/load.rb +135 -0
  243. data/test-unit/lib/test/unit/collector/objectspace.rb +34 -0
  244. data/test-unit/lib/test/unit/color.rb +61 -0
  245. data/test-unit/lib/test/unit/diff.rb +524 -0
  246. data/test-unit/lib/test/unit/error.rb +124 -0
  247. data/test-unit/lib/test/unit/exceptionhandler.rb +39 -0
  248. data/test-unit/lib/test/unit/failure.rb +110 -0
  249. data/test-unit/lib/test/unit/fixture.rb +185 -0
  250. data/test-unit/lib/test/unit/notification.rb +125 -0
  251. data/test-unit/lib/test/unit/omission.rb +143 -0
  252. data/test-unit/lib/test/unit/pending.rb +146 -0
  253. data/test-unit/lib/test/unit/priority.rb +146 -0
  254. data/test-unit/lib/test/unit/runner/console.rb +46 -0
  255. data/test-unit/lib/test/unit/runner/emacs.rb +8 -0
  256. data/test-unit/lib/test/unit/testcase.rb +281 -0
  257. data/test-unit/lib/test/unit/testresult.rb +89 -0
  258. data/test-unit/lib/test/unit/testsuite.rb +110 -0
  259. data/test-unit/lib/test/unit/ui/console/outputlevel.rb +14 -0
  260. data/test-unit/lib/test/unit/ui/console/testrunner.rb +195 -0
  261. data/test-unit/lib/test/unit/ui/emacs/testrunner.rb +49 -0
  262. data/test-unit/lib/test/unit/ui/testrunner.rb +20 -0
  263. data/test-unit/lib/test/unit/ui/testrunnermediator.rb +77 -0
  264. data/test-unit/lib/test/unit/ui/testrunnerutilities.rb +41 -0
  265. data/test-unit/lib/test/unit/util/backtracefilter.rb +41 -0
  266. data/test-unit/lib/test/unit/util/observable.rb +90 -0
  267. data/test-unit/lib/test/unit/util/procwrapper.rb +48 -0
  268. data/test-unit/lib/test/unit/version.rb +7 -0
  269. data/test-unit/sample/adder.rb +13 -0
  270. data/test-unit/sample/subtracter.rb +12 -0
  271. data/test-unit/sample/tc_adder.rb +18 -0
  272. data/test-unit/sample/tc_subtracter.rb +18 -0
  273. data/test-unit/sample/ts_examples.rb +7 -0
  274. data/test-unit/test/collector/test_descendant.rb +135 -0
  275. data/test-unit/test/collector/test_dir.rb +406 -0
  276. data/test-unit/test/collector/test_load.rb +333 -0
  277. data/test-unit/test/collector/test_objectspace.rb +98 -0
  278. data/test-unit/test/run-test.rb +13 -0
  279. data/test-unit/test/test_assertions.rb +693 -0
  280. data/test-unit/test/test_attribute.rb +86 -0
  281. data/test-unit/test/test_color.rb +37 -0
  282. data/test-unit/test/test_diff.rb +477 -0
  283. data/test-unit/test/test_emacs_runner.rb +60 -0
  284. data/test-unit/test/test_error.rb +26 -0
  285. data/test-unit/test/test_failure.rb +33 -0
  286. data/test-unit/test/test_fixture.rb +252 -0
  287. data/test-unit/test/test_notification.rb +33 -0
  288. data/test-unit/test/test_omission.rb +81 -0
  289. data/test-unit/test/test_pending.rb +70 -0
  290. data/test-unit/test/test_priority.rb +89 -0
  291. data/test-unit/test/test_testcase.rb +430 -0
  292. data/test-unit/test/test_testresult.rb +113 -0
  293. data/test-unit/test/test_testsuite.rb +129 -0
  294. data/test-unit/test/testunit_test_util.rb +14 -0
  295. data/test-unit/test/ui/test_testrunmediator.rb +20 -0
  296. data/test-unit/test/util/test_backtracefilter.rb +41 -0
  297. data/test-unit/test/util/test_observable.rb +102 -0
  298. data/test-unit/test/util/test_procwrapper.rb +36 -0
  299. data/test/cairo-test-utils.rb +18 -0
  300. data/test/run-test.rb +14 -1
  301. data/test/test_constants.rb +19 -0
  302. data/test/test_context.rb +117 -0
  303. data/test/test_exception.rb +27 -0
  304. data/test/test_font_extents.rb +36 -0
  305. data/test/test_font_face.rb +244 -0
  306. data/test/test_font_options.rb +32 -0
  307. data/test/test_pkg_config.rb +3 -2
  308. data/test/test_scaled_font.rb +34 -0
  309. data/test/test_surface.rb +41 -0
  310. data/test/test_text_cluster.rb +32 -0
  311. data/test/test_text_extents.rb +40 -0
  312. data/test/test_text_to_glyphs_data.rb +47 -0
  313. metadata +129 -109
  314. data/cairo/bin/libpng13.dll +0 -0
  315. data/cairo/lib/libpng13.dll.a +0 -0
  316. data/cairo/lib/pkgconfig/libpng13.pc +0 -14
  317. data/cairo/manifest/cairo-1.6.4-1.mft +0 -6
  318. data/cairo/manifest/libpng-dev-1.2.8.mft +0 -7
  319. data/doc/en/cairo-antialias.rd +0 -16
  320. data/doc/en/cairo-clip-not-representable-error.rd +0 -17
  321. data/doc/en/cairo-color-base.rd +0 -38
  322. data/doc/en/cairo-color-cmyk.rd +0 -107
  323. data/doc/en/cairo-color-hsv.rd +0 -91
  324. data/doc/en/cairo-color-rgb.rd +0 -95
  325. data/doc/en/cairo-color-x11.rd +0 -151
  326. data/doc/en/cairo-color.rd +0 -213
  327. data/doc/en/cairo-content.rd +0 -15
  328. data/doc/en/cairo-context-blur.rd +0 -15
  329. data/doc/en/cairo-context-circle.rd +0 -15
  330. data/doc/en/cairo-context-color.rd +0 -15
  331. data/doc/en/cairo-context-path.rd +0 -19
  332. data/doc/en/cairo-context-rectangle.rd +0 -15
  333. data/doc/en/cairo-context-triangle.rd +0 -15
  334. data/doc/en/cairo-context.rd +0 -491
  335. data/doc/en/cairo-error.rd +0 -16
  336. data/doc/en/cairo-extend.rd +0 -16
  337. data/doc/en/cairo-file-not-found.rd +0 -17
  338. data/doc/en/cairo-fill-rule.rd +0 -14
  339. data/doc/en/cairo-filter.rd +0 -18
  340. data/doc/en/cairo-font-extents.rd +0 -40
  341. data/doc/en/cairo-font-face.rd +0 -14
  342. data/doc/en/cairo-font-options.rd +0 -94
  343. data/doc/en/cairo-font-slant.rd +0 -15
  344. data/doc/en/cairo-font-weight.rd +0 -14
  345. data/doc/en/cairo-format.rd +0 -22
  346. data/doc/en/cairo-glyph.rd +0 -62
  347. data/doc/en/cairo-gradient-pattern.rd +0 -41
  348. data/doc/en/cairo-hint-metrics.rd +0 -15
  349. data/doc/en/cairo-hint-style.rd +0 -17
  350. data/doc/en/cairo-image-surface.rd +0 -47
  351. data/doc/en/cairo-invalid-content-error.rd +0 -17
  352. data/doc/en/cairo-invalid-dash-error.rd +0 -17
  353. data/doc/en/cairo-invalid-dsc-comment-error.rd +0 -17
  354. data/doc/en/cairo-invalid-format-error.rd +0 -17
  355. data/doc/en/cairo-invalid-index-error.rd +0 -17
  356. data/doc/en/cairo-invalid-matrix-error.rd +0 -17
  357. data/doc/en/cairo-invalid-path-data-error.rd +0 -17
  358. data/doc/en/cairo-invalid-pop-group-error.rd +0 -17
  359. data/doc/en/cairo-invalid-restore-error.rd +0 -17
  360. data/doc/en/cairo-invalid-status-error.rd +0 -17
  361. data/doc/en/cairo-invalid-stride-error.rd +0 -17
  362. data/doc/en/cairo-invalid-string-error.rd +0 -17
  363. data/doc/en/cairo-invalid-visual-error.rd +0 -17
  364. data/doc/en/cairo-line-cap.rd +0 -15
  365. data/doc/en/cairo-line-join.rd +0 -15
  366. data/doc/en/cairo-linear-pattern.rd +0 -28
  367. data/doc/en/cairo-matrix.rd +0 -186
  368. data/doc/en/cairo-no-current-point-error.rd +0 -17
  369. data/doc/en/cairo-null-pointer-error.rd +0 -17
  370. data/doc/en/cairo-operator.rd +0 -26
  371. data/doc/en/cairo-paper-parse-error.rd +0 -17
  372. data/doc/en/cairo-paper-unknown-paper-name.rd +0 -30
  373. data/doc/en/cairo-paper-unknown-unit.rd +0 -30
  374. data/doc/en/cairo-paper-unrecognized-paper-description.rd +0 -30
  375. data/doc/en/cairo-paper.rd +0 -141
  376. data/doc/en/cairo-path-close-path.rd +0 -21
  377. data/doc/en/cairo-path-curve-to.rd +0 -21
  378. data/doc/en/cairo-path-data-type.rd +0 -16
  379. data/doc/en/cairo-path-data.rd +0 -62
  380. data/doc/en/cairo-path-line-to.rd +0 -21
  381. data/doc/en/cairo-path-move-to.rd +0 -21
  382. data/doc/en/cairo-path.rd +0 -109
  383. data/doc/en/cairo-pattern-type-mismatch-error.rd +0 -17
  384. data/doc/en/cairo-pattern.rd +0 -62
  385. data/doc/en/cairo-pdf-surface.rd +0 -27
  386. data/doc/en/cairo-point.rd +0 -42
  387. data/doc/en/cairo-ps-level.rd +0 -24
  388. data/doc/en/cairo-ps-surface.rd +0 -55
  389. data/doc/en/cairo-quartz-image-surface.rd +0 -27
  390. data/doc/en/cairo-quartz-surface.rd +0 -27
  391. data/doc/en/cairo-radial-pattern.rd +0 -28
  392. data/doc/en/cairo-read-error.rd +0 -17
  393. data/doc/en/cairo-rectangle.rd +0 -54
  394. data/doc/en/cairo-scaled-font.rd +0 -50
  395. data/doc/en/cairo-solid-pattern.rd +0 -31
  396. data/doc/en/cairo-subpixel-order.rd +0 -17
  397. data/doc/en/cairo-surface-finished-error.rd +0 -17
  398. data/doc/en/cairo-surface-pattern.rd +0 -27
  399. data/doc/en/cairo-surface-type-mismatch-error.rd +0 -17
  400. data/doc/en/cairo-surface.rd +0 -72
  401. data/doc/en/cairo-svg-surface.rd +0 -44
  402. data/doc/en/cairo-svg-version.rd +0 -24
  403. data/doc/en/cairo-temp-file-error.rd +0 -17
  404. data/doc/en/cairo-text-extents.rd +0 -44
  405. data/doc/en/cairo-win32-printing-surface.rd +0 -27
  406. data/doc/en/cairo-win32-surface.rd +0 -31
  407. data/doc/en/cairo-write-error.rd +0 -17
  408. data/doc/en/cairo.rd +0 -95
  409. data/doc/en/index.rd +0 -1051
  410. data/samples/agg/aa_demo.rb +0 -47
@@ -0,0 +1,18 @@
1
+ require 'cairo'
2
+
3
+ module CairoTestUtils
4
+ private
5
+ def only_cairo_version(major, minor, micro=nil)
6
+ unless Cairo.satisfied_version?(major, minor, micro)
7
+ omit("Require cairo >= #{major}.#{minor}.#{micro}")
8
+ end
9
+ end
10
+
11
+ def only_win32
12
+ omit("Only for Win32 platform") unless win32
13
+ end
14
+
15
+ def win32?
16
+ /cygwin|mingw|mswin32|bccwin32/.match(RUBY_PLATFORM) ? true : false
17
+ end
18
+ end
@@ -1,15 +1,28 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  base_dir = File.expand_path(File.join(File.dirname(__FILE__), ".."))
4
+ test_unit_dir = File.join(base_dir, "test-unit", "lib")
4
5
  src_dir = File.join(base_dir, "src")
5
6
  lib_dir = File.join(src_dir, "lib")
7
+ test_dir = File.join(base_dir, "test")
8
+
9
+ if system("which make > /dev/null")
10
+ system("cd #{base_dir.dump} && make > /dev/null") or exit(1)
11
+ end
12
+
13
+ $LOAD_PATH.unshift(test_unit_dir)
14
+
15
+ require 'test/unit'
6
16
 
7
17
  $LOAD_PATH.unshift(base_dir)
8
18
  $LOAD_PATH.unshift(src_dir)
9
19
  $LOAD_PATH.unshift(lib_dir)
10
20
 
11
- require 'test/unit'
21
+ $LOAD_PATH.unshift(test_dir)
22
+ require 'cairo-test-utils'
12
23
 
13
24
  Dir.glob("test/**/test_*.rb") do |file|
14
25
  require file.sub(/\.rb$/, '')
15
26
  end
27
+
28
+ exit Test::Unit::AutoRunner.run(false)
@@ -0,0 +1,19 @@
1
+ require 'cairo'
2
+
3
+ class ConstantsTest < Test::Unit::TestCase
4
+ def test_lcd_filter
5
+ constant_name = "LCDFilter"
6
+ unless Cairo.satisfied_version?(1, 7, 2)
7
+ assert_false(Cairo.const_defined?(constant_name))
8
+ return
9
+ end
10
+
11
+ assert_true(Cairo.const_defined?(constant_name))
12
+ assert_equal((0..4).to_a,
13
+ [Cairo::LCDFilter::DEFAULT,
14
+ Cairo::LCDFilter::NONE,
15
+ Cairo::LCDFilter::INTRA_PIXEL,
16
+ Cairo::LCDFilter::FIR3,
17
+ Cairo::LCDFilter::FIR5])
18
+ end
19
+ end
@@ -0,0 +1,117 @@
1
+ require 'cairo'
2
+ require 'stringio'
3
+
4
+ class ContextTest < Test::Unit::TestCase
5
+ include CairoTestUtils
6
+
7
+ def setup
8
+ @output = StringIO.new
9
+ @surface = Cairo::PDFSurface.new(@output, 10, 10)
10
+ end
11
+
12
+ def test_new_and_destroy
13
+ context = Cairo::Context.new(@surface)
14
+ @surface.destroy
15
+ assert_no_match(/%%EOF\s*\z/m, @output.string)
16
+ context.destroy
17
+ assert_match(/%%EOF\s*\z/m, @output.string)
18
+ end
19
+
20
+ def test_new_with_block
21
+ Cairo::Context.new(@surface) do |context|
22
+ @surface.destroy
23
+ assert_no_match(/%%EOF\s*\z/m, @output.string)
24
+ end
25
+ assert_match(/%%EOF\s*\z/m, @output.string)
26
+ end
27
+
28
+ def test_new_with_block_and_destroy
29
+ assert_nothing_raised do
30
+ Cairo::Context.new(@surface) do |context|
31
+ context.destroy
32
+ end
33
+ end
34
+ end
35
+
36
+ def test_font_face
37
+ only_cairo_version(1, 7, 2)
38
+
39
+ context = Cairo::Context.new(@surface)
40
+
41
+ assert_kind_of(Cairo::FontFace, context.font_face)
42
+
43
+ face = Cairo::ToyFontFace.new("serif")
44
+ context.font_face = face
45
+ assert_equal("serif", context.font_face.family)
46
+
47
+ face = Cairo::ToyFontFace.new("sans")
48
+ context.font_face = face
49
+ assert_equal("sans", context.font_face.family)
50
+ end
51
+
52
+ def test_have_show_text_glyphs?
53
+ only_cairo_version(1, 7, 2)
54
+
55
+ pdf_surface = Cairo::PDFSurface.new(@output, 10, 10)
56
+ context = Cairo::Context.new(pdf_surface)
57
+ assert_true(context.have_show_text_glyphs?)
58
+
59
+ image_surface = Cairo::ImageSurface.new(10, 10)
60
+ context = Cairo::Context.new(image_surface)
61
+ assert_false(context.have_show_text_glyphs?)
62
+ end
63
+
64
+ def test_text_to_glyphs
65
+ only_cairo_version(1, 7, 2)
66
+
67
+ surface = Cairo::PDFSurface.new(StringIO.new, 10, 10)
68
+ context = Cairo::Context.new(surface)
69
+ scaled_font = Cairo::ScaledFont.new(context.font_face,
70
+ Cairo::Matrix.identity,
71
+ Cairo::Matrix.identity,
72
+ Cairo::FontOptions.new)
73
+
74
+ utf8 = "text"
75
+ glyphs, clusters, backward = scaled_font.text_to_glyphs(0, 0, utf8)
76
+ assert_nothing_raised do
77
+ context.show_text_glyphs(utf8, glyphs, clusters, backward)
78
+ end
79
+ end
80
+
81
+ def test_select_font_face
82
+ only_cairo_version(1, 7, 2)
83
+
84
+ context = Cairo::Context.new(@surface)
85
+
86
+ face = context.font_face
87
+ default_font_family = ""
88
+ # default_font_family = "Helvetica" if quartz?
89
+ # default_font_family = "Arial" if win32?
90
+ assert_equal([default_font_family,
91
+ Cairo::FONT_SLANT_NORMAL,
92
+ Cairo::FONT_WEIGHT_NORMAL],
93
+ [face.family, face.slant, face.weight])
94
+
95
+ context.select_font_face
96
+ face = context.font_face
97
+ assert_equal([default_font_family,
98
+ Cairo::FONT_SLANT_NORMAL,
99
+ Cairo::FONT_WEIGHT_NORMAL],
100
+ [face.family, face.slant, face.weight])
101
+
102
+ context.select_font_face(:serif, :italic, :bold)
103
+ face = context.font_face
104
+ assert_equal(["serif", Cairo::FONT_SLANT_ITALIC, Cairo::FONT_WEIGHT_BOLD],
105
+ [face.family, face.slant, face.weight])
106
+ end
107
+
108
+ def test_select_font_face_with_invalid_family_name
109
+ context = Cairo::Context.new(@surface)
110
+
111
+ exception = assert_raise(ArgumentError) do
112
+ context.select_font_face([999])
113
+ end
114
+ assert_equal("family name should be nil, String or Symbol: [999]",
115
+ exception.message)
116
+ end
117
+ end
@@ -0,0 +1,27 @@
1
+ require 'cairo'
2
+
3
+ class ExceptionTest < Test::Unit::TestCase
4
+ def test_new_symbols_since_1_7_2
5
+ if Cairo.satisfied_version?(1, 7, 2)
6
+ assertion = :assert_defined
7
+ else
8
+ assertion = :assert_not_defined
9
+ end
10
+ send(assertion, "FontTypeMismatch")
11
+ send(assertion, "UserFontImmutable")
12
+ send(assertion, "UserFontError")
13
+ send(assertion, "NegativeCount")
14
+ send(assertion, "InvalidClusters")
15
+ send(assertion, "InvalidSlant")
16
+ send(assertion, "InvalidWeight")
17
+ end
18
+
19
+ private
20
+ def assert_defined(name)
21
+ assert_true(Cairo.const_defined?(name))
22
+ end
23
+
24
+ def assert_not_defined(name)
25
+ assert_false(Cairo.const_defined?(name))
26
+ end
27
+ end
@@ -0,0 +1,36 @@
1
+ require 'cairo'
2
+
3
+ class FontExtentsTest < Test::Unit::TestCase
4
+ include CairoTestUtils
5
+
6
+ def test_new
7
+ extents = Cairo::FontExtents.new
8
+ assert_equal([1.0, 0.0, 1.0, 1.0, 0.0],
9
+ [extents.ascent, extents.descent, extents.height,
10
+ extents.max_x_advance, extents.max_y_advance])
11
+ end
12
+
13
+ def test_accessor
14
+ extents = Cairo::FontExtents.new
15
+ extents.ascent = 0.1
16
+ extents.descent = 0.2
17
+ extents.height = 0.3
18
+ extents.max_x_advance = 0.4
19
+ extents.max_y_advance = 0.5
20
+ assert_equal([0.1, 0.2, 0.3, 0.4, 0.5],
21
+ [extents.ascent, extents.descent, extents.height,
22
+ extents.max_x_advance, extents.max_y_advance])
23
+ end
24
+
25
+ def test_to_s
26
+ extents = Cairo::FontExtents.new
27
+ extents.ascent = 0.1
28
+ extents.descent = 0.2
29
+ extents.height = 0.3
30
+ extents.max_x_advance = 0.4
31
+ extents.max_y_advance = 0.5
32
+ assert_equal("#<Cairo::FontExtents: ascent=0.1, descent=0.2, " +
33
+ "height=0.3, max_x_advance=0.4, max_y_advance=0.5>",
34
+ extents.to_s)
35
+ end
36
+ end
@@ -0,0 +1,244 @@
1
+ require 'cairo'
2
+
3
+ class FontFaceTest < Test::Unit::TestCase
4
+ include CairoTestUtils
5
+
6
+ def test_toy_font_face_new
7
+ only_cairo_version(1, 7, 2)
8
+
9
+ face = Cairo::ToyFontFace.new
10
+ default_font_family = ""
11
+ # default_font_family = "Helvetica" if quartz?
12
+ # default_font_family = "Arial" if win32?
13
+ assert_equal([default_font_family,
14
+ Cairo::FONT_SLANT_NORMAL,
15
+ Cairo::FONT_WEIGHT_NORMAL],
16
+ [face.family, face.slant, face.weight])
17
+
18
+ face = Cairo::ToyFontFace.new("serif")
19
+ assert_equal(["serif", Cairo::FONT_SLANT_NORMAL, Cairo::FONT_WEIGHT_NORMAL],
20
+ [face.family, face.slant, face.weight])
21
+
22
+ face = Cairo::ToyFontFace.new(:serif)
23
+ assert_equal(["serif", Cairo::FONT_SLANT_NORMAL, Cairo::FONT_WEIGHT_NORMAL],
24
+ [face.family, face.slant, face.weight])
25
+
26
+ face = Cairo::ToyFontFace.new("serif", :oblique)
27
+ assert_equal(["serif", Cairo::FONT_SLANT_OBLIQUE, Cairo::FONT_WEIGHT_NORMAL],
28
+ [face.family, face.slant, face.weight])
29
+
30
+ face = Cairo::ToyFontFace.new("serif", nil, :bold)
31
+ assert_equal(["serif", Cairo::FONT_SLANT_NORMAL, Cairo::FONT_WEIGHT_BOLD],
32
+ [face.family, face.slant, face.weight])
33
+
34
+ face = Cairo::ToyFontFace.new("serif", :italic, :bold)
35
+ assert_equal(["serif", Cairo::FONT_SLANT_ITALIC, Cairo::FONT_WEIGHT_BOLD],
36
+ [face.family, face.slant, face.weight])
37
+ end
38
+
39
+ def test_toy_font_face_new_with_invalid_family_name
40
+ only_cairo_version(1, 7, 2)
41
+
42
+ exception = assert_raise(ArgumentError) do
43
+ Cairo::ToyFontFace.new(999)
44
+ end
45
+ assert_equal("family name should be nil, String or Symbol: 999",
46
+ exception.message)
47
+ end
48
+
49
+ def test_user_font_face_empty
50
+ only_cairo_version(1, 7, 2)
51
+
52
+ face = Cairo::UserFontFace.new
53
+ scaled_font = Cairo::ScaledFont.new(face,
54
+ Cairo::Matrix.identity,
55
+ Cairo::Matrix.identity,
56
+ Cairo::FontOptions.new)
57
+ assert_equal([[], [], false],
58
+ scaled_font.text_to_glyphs(0, 0, "text"))
59
+ end
60
+
61
+ def test_user_font_face_callback
62
+ only_cairo_version(1, 7, 2)
63
+
64
+ face = Cairo::UserFontFace.new
65
+
66
+ init_args = []
67
+ face.on_init do |*args|
68
+ init_args << args
69
+ end
70
+
71
+ render_glyph_args = []
72
+ face.on_render_glyph do |*args|
73
+ render_glyph_args << args
74
+ end
75
+
76
+ text_to_glyphs_args = []
77
+ face.on_text_to_glyphs do |*args|
78
+ text_to_glyphs_args << args
79
+ scaled_font, utf8, data = args
80
+ data.backward = true
81
+ end
82
+
83
+ unicode_to_glyph_args = []
84
+ face.on_unicode_to_glyph do |*args|
85
+ unicode_to_glyph_args << args
86
+ scaled_font, unicode = args
87
+ unicode
88
+ end
89
+
90
+ scaled_font = Cairo::ScaledFont.new(face,
91
+ Cairo::Matrix.identity,
92
+ Cairo::Matrix.identity,
93
+ Cairo::FontOptions.new)
94
+ result = scaled_font.text_to_glyphs(0, 0, "text")
95
+ assert_equal([[[Cairo::ScaledFont, Cairo::Context, Cairo::FontExtents]],
96
+ [[Cairo::ScaledFont, ?t, Cairo::Context, Cairo::TextExtents],
97
+ [Cairo::ScaledFont, ?e, Cairo::Context, Cairo::TextExtents],
98
+ [Cairo::ScaledFont, ?x, Cairo::Context, Cairo::TextExtents]],
99
+ [[Cairo::ScaledFont, "text",
100
+ Cairo::UserFontFace::TextToGlyphsData]],
101
+ [[Cairo::ScaledFont, ?t],
102
+ [Cairo::ScaledFont, ?e],
103
+ [Cairo::ScaledFont, ?x],
104
+ [Cairo::ScaledFont, ?t]],
105
+ [[], [], true]],
106
+ [classify_cairo_object(init_args),
107
+ classify_cairo_object(render_glyph_args),
108
+ classify_cairo_object(text_to_glyphs_args),
109
+ classify_cairo_object(unicode_to_glyph_args),
110
+ result])
111
+ end
112
+
113
+ if Cairo.satisfied_version?(1, 7, 2)
114
+ class CustomUserFontFace < Cairo::UserFontFace
115
+ attr_reader :init_args, :render_glyph_args
116
+ attr_reader :text_to_glyphs_args, :unicode_to_glyph_args
117
+ def initialize
118
+ super
119
+ @init_args = []
120
+ @render_glyph_args = []
121
+ @text_to_glyphs_args = []
122
+ @unicode_to_glyph_args = []
123
+ end
124
+
125
+ def init(*args)
126
+ @init_args << args
127
+ end
128
+
129
+ def render_glyph(*args)
130
+ @render_glyph_args << args
131
+ end
132
+
133
+ def text_to_glyphs(*args)
134
+ @text_to_glyphs_args << args
135
+ scaled_font, utf8, data = args
136
+ data.backward = true
137
+ end
138
+
139
+ def unicode_to_glyph(*args)
140
+ @unicode_to_glyph_args << args
141
+ scaled_font, unicode = args
142
+ unicode
143
+ end
144
+ end
145
+ end
146
+
147
+ def test_user_font_face_class
148
+ only_cairo_version(1, 7, 2)
149
+
150
+ face = CustomUserFontFace.new
151
+
152
+ scaled_font = Cairo::ScaledFont.new(face,
153
+ Cairo::Matrix.identity,
154
+ Cairo::Matrix.identity,
155
+ Cairo::FontOptions.new)
156
+ result = scaled_font.text_to_glyphs(0, 0, "text")
157
+ assert_equal([[[Cairo::ScaledFont, Cairo::Context, Cairo::FontExtents]],
158
+ [[Cairo::ScaledFont, ?t, Cairo::Context, Cairo::TextExtents],
159
+ [Cairo::ScaledFont, ?e, Cairo::Context, Cairo::TextExtents],
160
+ [Cairo::ScaledFont, ?x, Cairo::Context, Cairo::TextExtents]],
161
+ [[Cairo::ScaledFont, "text",
162
+ Cairo::UserFontFace::TextToGlyphsData]],
163
+ [[Cairo::ScaledFont, ?t],
164
+ [Cairo::ScaledFont, ?e],
165
+ [Cairo::ScaledFont, ?x],
166
+ [Cairo::ScaledFont, ?t]],
167
+ [[], [], true]],
168
+ [classify_cairo_object(face.init_args),
169
+ classify_cairo_object(face.render_glyph_args),
170
+ classify_cairo_object(face.text_to_glyphs_args),
171
+ classify_cairo_object(face.unicode_to_glyph_args),
172
+ result])
173
+ end
174
+
175
+ def test_user_font_face_class_and_callback
176
+ only_cairo_version(1, 7, 2)
177
+
178
+ face = CustomUserFontFace.new
179
+
180
+ init_args = []
181
+ face.on_init do |*args|
182
+ init_args << args
183
+ end
184
+
185
+ render_glyph_args = []
186
+ face.on_render_glyph do |*args|
187
+ render_glyph_args << args
188
+ end
189
+
190
+ text_to_glyphs_args = []
191
+ face.on_text_to_glyphs do |*args|
192
+ text_to_glyphs_args << args
193
+ scaled_font, utf8, data = args
194
+ data.backward = true
195
+ end
196
+
197
+ unicode_to_glyph_args = []
198
+ face.on_unicode_to_glyph do |*args|
199
+ unicode_to_glyph_args << args
200
+ scaled_font, unicode = args
201
+ unicode
202
+ end
203
+
204
+ scaled_font = Cairo::ScaledFont.new(face,
205
+ Cairo::Matrix.identity,
206
+ Cairo::Matrix.identity,
207
+ Cairo::FontOptions.new)
208
+ result = scaled_font.text_to_glyphs(0, 0, "text")
209
+ assert_equal([[[Cairo::ScaledFont, Cairo::Context, Cairo::FontExtents]],
210
+ [[Cairo::ScaledFont, ?t, Cairo::Context, Cairo::TextExtents],
211
+ [Cairo::ScaledFont, ?e, Cairo::Context, Cairo::TextExtents],
212
+ [Cairo::ScaledFont, ?x, Cairo::Context, Cairo::TextExtents]],
213
+ [[Cairo::ScaledFont, "text",
214
+ Cairo::UserFontFace::TextToGlyphsData]],
215
+ [[Cairo::ScaledFont, ?t],
216
+ [Cairo::ScaledFont, ?e],
217
+ [Cairo::ScaledFont, ?x],
218
+ [Cairo::ScaledFont, ?t]],
219
+ [],
220
+ [],
221
+ [],
222
+ [],
223
+ [[], [], true]],
224
+ [classify_cairo_object(init_args),
225
+ classify_cairo_object(render_glyph_args),
226
+ classify_cairo_object(text_to_glyphs_args),
227
+ classify_cairo_object(unicode_to_glyph_args),
228
+ classify_cairo_object(face.init_args),
229
+ classify_cairo_object(face.render_glyph_args),
230
+ classify_cairo_object(face.text_to_glyphs_args),
231
+ classify_cairo_object(face.unicode_to_glyph_args),
232
+ result])
233
+ end
234
+
235
+ def classify_cairo_object(object)
236
+ if object.is_a?(Array)
237
+ object.collect {|obj| classify_cairo_object(obj)}
238
+ elsif /\ACairo::/ =~ object.class.name
239
+ object.class
240
+ else
241
+ object
242
+ end
243
+ end
244
+ end