cairo 1.8.5-x86-mingw32 → 1.10.0-x86-mingw32

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

Potentially problematic release.


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

Files changed (450) hide show
  1. data/NEWS +2 -2
  2. data/Rakefile +44 -7
  3. data/ext/cairo/cairo.def +28 -1
  4. data/ext/cairo/extconf.rb +14 -16
  5. data/ext/cairo/rb_cairo.c +4 -1
  6. data/ext/cairo/rb_cairo.h +65 -1
  7. data/ext/cairo/rb_cairo_constants.c +150 -3
  8. data/ext/cairo/rb_cairo_context.c +17 -0
  9. data/ext/cairo/rb_cairo_device.c +406 -0
  10. data/ext/cairo/rb_cairo_exception.c +83 -32
  11. data/ext/cairo/rb_cairo_io.c +166 -0
  12. data/ext/cairo/rb_cairo_io.h +44 -0
  13. data/ext/cairo/rb_cairo_matrix.c +1 -1
  14. data/ext/cairo/rb_cairo_private.h +3 -0
  15. data/ext/cairo/rb_cairo_region.c +385 -0
  16. data/ext/cairo/rb_cairo_surface.c +674 -199
  17. data/lib/1.8/cairo.so +0 -0
  18. data/lib/1.9/cairo.so +0 -0
  19. data/samples/blur.rb +2 -3
  20. data/samples/{pac2.rb → pac-nomralize.rb} +5 -6
  21. data/samples/pac-tee.rb +170 -0
  22. data/samples/pac.rb +2 -3
  23. data/samples/png.rb +2 -3
  24. data/samples/scalable.rb +2 -3
  25. data/samples/text-on-path.rb +2 -3
  26. data/samples/text2.rb +2 -3
  27. data/test/cairo-test-utils.rb +15 -0
  28. data/test/run-test.rb +5 -4
  29. data/test/test_context.rb +4 -4
  30. data/test/test_font_face.rb +34 -21
  31. data/test/test_recording_surface.rb +18 -0
  32. data/test/test_region.rb +102 -0
  33. data/test/test_script_device.rb +46 -0
  34. data/test/test_script_surface.rb +13 -0
  35. data/test/test_surface.rb +14 -4
  36. data/test/test_tee_surface.rb +32 -0
  37. data/test/test_xml_device.rb +22 -0
  38. data/test/test_xml_surface.rb +32 -0
  39. data/tmp/i386-mingw32/cairo/1.9.2/rbconfig.rb +1 -1
  40. data/vendor/local/bin/libcairo-2.dll +0 -0
  41. data/vendor/local/include/cairo/cairo-deprecated.h +1 -16
  42. data/vendor/local/include/cairo/cairo-features.h +7 -0
  43. data/vendor/local/include/cairo/cairo-ft.h +16 -9
  44. data/vendor/local/include/cairo/cairo-gobject.h +186 -0
  45. data/vendor/local/include/cairo/cairo-pdf.h +27 -1
  46. data/vendor/local/include/cairo/cairo-ps.h +1 -1
  47. data/vendor/local/include/cairo/cairo-script-interpreter.h +117 -0
  48. data/vendor/local/include/cairo/cairo-svg.h +1 -1
  49. data/vendor/local/include/cairo/cairo-version.h +2 -2
  50. data/vendor/local/include/cairo/cairo-win32.h +1 -1
  51. data/vendor/local/include/cairo/cairo.h +382 -26
  52. data/vendor/local/lib/cairo.def +44 -0
  53. data/vendor/local/lib/cairo.lib +0 -0
  54. data/vendor/local/lib/libcairo.dll.a +0 -0
  55. data/vendor/local/lib/pkgconfig/cairo-fc.pc +12 -0
  56. data/vendor/local/lib/pkgconfig/cairo-ft.pc +4 -4
  57. data/vendor/local/lib/pkgconfig/cairo-gobject.pc +12 -0
  58. data/vendor/local/lib/pkgconfig/cairo-pdf.pc +3 -3
  59. data/vendor/local/lib/pkgconfig/cairo-png.pc +3 -3
  60. data/vendor/local/lib/pkgconfig/cairo-ps.pc +3 -3
  61. data/vendor/local/lib/pkgconfig/cairo-svg.pc +3 -3
  62. data/vendor/local/lib/pkgconfig/cairo-win32-font.pc +3 -3
  63. data/vendor/local/lib/pkgconfig/cairo-win32.pc +3 -3
  64. data/vendor/local/lib/pkgconfig/cairo.pc +4 -4
  65. data/vendor/local/manifest/{cairo-dev_1.8.10-4_win32.mft → cairo-dev_1.10.0-1_win32.mft} +34 -27
  66. data/vendor/local/manifest/cairo_1.10.0-1_win32.mft +5 -0
  67. data/vendor/local/share/doc/{cairo_1.8.10-4_win32 → cairo_1.10.0-1_win32}/COPYING +9 -8
  68. data/vendor/local/share/doc/{cairo_1.8.10-4_win32 → cairo_1.10.0-1_win32}/COPYING-LGPL-2.1 +2 -2
  69. data/vendor/local/share/doc/{cairo_1.8.10-4_win32 → cairo_1.10.0-1_win32}/COPYING-MPL-1.1 +0 -0
  70. data/vendor/local/share/gtk-doc/html/cairo/bindings-errors.html +4 -14
  71. data/vendor/local/share/gtk-doc/html/cairo/bindings-fonts.html +5 -15
  72. data/vendor/local/share/gtk-doc/html/cairo/bindings-memory.html +7 -17
  73. data/vendor/local/share/gtk-doc/html/cairo/bindings-overloading.html +6 -16
  74. data/vendor/local/share/gtk-doc/html/cairo/bindings-path.html +6 -16
  75. data/vendor/local/share/gtk-doc/html/cairo/bindings-patterns.html +23 -28
  76. data/vendor/local/share/gtk-doc/html/cairo/bindings-return-values.html +3 -13
  77. data/vendor/local/share/gtk-doc/html/cairo/bindings-streams.html +3 -13
  78. data/vendor/local/share/gtk-doc/html/cairo/bindings-surfaces.html +7 -17
  79. data/vendor/local/share/gtk-doc/html/cairo/cairo-Error-handling.html +373 -0
  80. data/vendor/local/share/gtk-doc/html/cairo/cairo-FreeType-Fonts.html +330 -0
  81. data/vendor/local/share/gtk-doc/html/cairo/cairo-Image-Surfaces.html +478 -0
  82. data/vendor/local/share/gtk-doc/html/cairo/cairo-PDF-Surfaces.html +344 -0
  83. data/vendor/local/share/gtk-doc/html/cairo/cairo-PNG-Support.html +320 -0
  84. data/vendor/local/share/gtk-doc/html/cairo/cairo-Paths.html +1291 -0
  85. data/vendor/local/share/gtk-doc/html/cairo/cairo-PostScript-Surfaces.html +622 -0
  86. data/vendor/local/share/gtk-doc/html/cairo/cairo-Quartz-(CGFont)-Fonts.html +134 -0
  87. data/vendor/local/share/gtk-doc/html/cairo/cairo-Quartz-Surfaces.html +210 -0
  88. data/vendor/local/share/gtk-doc/html/cairo/cairo-Regions.html +834 -0
  89. data/vendor/local/share/gtk-doc/html/cairo/cairo-SVG-Surfaces.html +318 -0
  90. data/vendor/local/share/gtk-doc/html/cairo/cairo-Transformations.html +410 -0
  91. data/vendor/local/share/gtk-doc/html/cairo/cairo-Types.html +169 -0
  92. data/vendor/local/share/gtk-doc/html/cairo/cairo-User-Fonts.html +715 -0
  93. data/vendor/local/share/gtk-doc/html/cairo/cairo-Version-Information.html +410 -0
  94. data/vendor/local/share/gtk-doc/html/cairo/cairo-Win32-Fonts.html +335 -0
  95. data/vendor/local/share/gtk-doc/html/cairo/cairo-Win32-Surfaces.html +291 -0
  96. data/vendor/local/share/gtk-doc/html/cairo/cairo-XLib-Surfaces.html +470 -0
  97. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-device-t.html +595 -0
  98. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-font-face-t.html +384 -0
  99. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-font-options-t.html +644 -0
  100. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-matrix-t.html +574 -0
  101. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-pattern-t.html +1457 -0
  102. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-scaled-font-t.html +1076 -0
  103. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html +1396 -0
  104. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-t.html +2743 -0
  105. data/vendor/local/share/gtk-doc/html/cairo/cairo-drawing.html +13 -20
  106. data/vendor/local/share/gtk-doc/html/cairo/cairo-fonts.html +13 -23
  107. data/vendor/local/share/gtk-doc/html/cairo/cairo-support.html +11 -21
  108. data/vendor/local/share/gtk-doc/html/cairo/cairo-surfaces.html +19 -26
  109. data/vendor/local/share/gtk-doc/html/cairo/cairo-text.html +279 -326
  110. data/vendor/local/share/gtk-doc/html/cairo/cairo.devhelp +411 -355
  111. data/vendor/local/share/gtk-doc/html/cairo/cairo.devhelp2 +579 -480
  112. data/vendor/local/share/gtk-doc/html/cairo/index-1.10.html +147 -0
  113. data/vendor/local/share/gtk-doc/html/cairo/index-1.2.html +88 -65
  114. data/vendor/local/share/gtk-doc/html/cairo/index-1.4.html +72 -47
  115. data/vendor/local/share/gtk-doc/html/cairo/index-1.6.html +43 -32
  116. data/vendor/local/share/gtk-doc/html/cairo/index-1.8.html +42 -41
  117. data/vendor/local/share/gtk-doc/html/cairo/index-all.html +542 -345
  118. data/vendor/local/share/gtk-doc/html/cairo/index.html +36 -39
  119. data/vendor/local/share/gtk-doc/html/cairo/index.sgml +674 -444
  120. data/vendor/local/share/gtk-doc/html/cairo/language-bindings.html +6 -16
  121. data/vendor/local/share/gtk-doc/html/cairo/style.css +152 -54
  122. data/vendor/local/src/tml/packaging/cairo_1.10.0-1_win32.log +1262 -0
  123. data/vendor/local/src/tml/packaging/{cairo_1.8.10-4_win32.sh → cairo_1.10.0-1_win32.sh} +3 -3
  124. metadata +137 -389
  125. data/doc/doc.css +0 -91
  126. data/doc/en/cairo-antialias.html +0 -38
  127. data/doc/en/cairo-clip-not-representable-error.html +0 -47
  128. data/doc/en/cairo-color-base.html +0 -69
  129. data/doc/en/cairo-color-cmyk.html +0 -157
  130. data/doc/en/cairo-color-hsv.html +0 -137
  131. data/doc/en/cairo-color-rgb.html +0 -142
  132. data/doc/en/cairo-color-x11.html +0 -173
  133. data/doc/en/cairo-color.html +0 -238
  134. data/doc/en/cairo-content.html +0 -37
  135. data/doc/en/cairo-context-blur.html +0 -39
  136. data/doc/en/cairo-context-circle.html +0 -39
  137. data/doc/en/cairo-context-color.html +0 -39
  138. data/doc/en/cairo-context-path.html +0 -44
  139. data/doc/en/cairo-context-rectangle.html +0 -39
  140. data/doc/en/cairo-context-triangle.html +0 -39
  141. data/doc/en/cairo-context.html +0 -643
  142. data/doc/en/cairo-error.html +0 -44
  143. data/doc/en/cairo-extend.html +0 -38
  144. data/doc/en/cairo-file-not-found.html +0 -47
  145. data/doc/en/cairo-fill-rule.html +0 -36
  146. data/doc/en/cairo-filter.html +0 -40
  147. data/doc/en/cairo-font-extents.html +0 -129
  148. data/doc/en/cairo-font-face.html +0 -38
  149. data/doc/en/cairo-font-options.html +0 -139
  150. data/doc/en/cairo-font-slant.html +0 -37
  151. data/doc/en/cairo-font-type-mismatch.html +0 -47
  152. data/doc/en/cairo-font-weight.html +0 -36
  153. data/doc/en/cairo-format.html +0 -46
  154. data/doc/en/cairo-glyph.html +0 -99
  155. data/doc/en/cairo-gradient-pattern.html +0 -74
  156. data/doc/en/cairo-hint-metrics.html +0 -37
  157. data/doc/en/cairo-hint-style.html +0 -39
  158. data/doc/en/cairo-image-surface.html +0 -82
  159. data/doc/en/cairo-invalid-clusters.html +0 -47
  160. data/doc/en/cairo-invalid-content-error.html +0 -47
  161. data/doc/en/cairo-invalid-dash-error.html +0 -47
  162. data/doc/en/cairo-invalid-dsc-comment-error.html +0 -47
  163. data/doc/en/cairo-invalid-format-error.html +0 -47
  164. data/doc/en/cairo-invalid-index-error.html +0 -47
  165. data/doc/en/cairo-invalid-matrix-error.html +0 -47
  166. data/doc/en/cairo-invalid-path-data-error.html +0 -47
  167. data/doc/en/cairo-invalid-pop-group-error.html +0 -47
  168. data/doc/en/cairo-invalid-restore-error.html +0 -47
  169. data/doc/en/cairo-invalid-slant.html +0 -47
  170. data/doc/en/cairo-invalid-status-error.html +0 -47
  171. data/doc/en/cairo-invalid-stride-error.html +0 -47
  172. data/doc/en/cairo-invalid-string-error.html +0 -47
  173. data/doc/en/cairo-invalid-visual-error.html +0 -47
  174. data/doc/en/cairo-invalid-weight.html +0 -47
  175. data/doc/en/cairo-line-cap.html +0 -37
  176. data/doc/en/cairo-line-join.html +0 -37
  177. data/doc/en/cairo-linear-pattern.html +0 -60
  178. data/doc/en/cairo-matrix.html +0 -259
  179. data/doc/en/cairo-negative-count.html +0 -47
  180. data/doc/en/cairo-no-current-point-error.html +0 -47
  181. data/doc/en/cairo-null-pointer-error.html +0 -47
  182. data/doc/en/cairo-operator.html +0 -48
  183. data/doc/en/cairo-paper-parse-error.html +0 -47
  184. data/doc/en/cairo-paper-unknown-paper-name.html +0 -66
  185. data/doc/en/cairo-paper-unknown-unit.html +0 -66
  186. data/doc/en/cairo-paper-unrecognized-paper-description.html +0 -66
  187. data/doc/en/cairo-paper.html +0 -184
  188. data/doc/en/cairo-path-close-path.html +0 -49
  189. data/doc/en/cairo-path-curve-to.html +0 -49
  190. data/doc/en/cairo-path-data-type.html +0 -38
  191. data/doc/en/cairo-path-data.html +0 -98
  192. data/doc/en/cairo-path-line-to.html +0 -49
  193. data/doc/en/cairo-path-move-to.html +0 -49
  194. data/doc/en/cairo-path.html +0 -155
  195. data/doc/en/cairo-pattern-type-mismatch-error.html +0 -47
  196. data/doc/en/cairo-pattern.html +0 -99
  197. data/doc/en/cairo-pdf-surface.html +0 -57
  198. data/doc/en/cairo-point.html +0 -74
  199. data/doc/en/cairo-ps-level.html +0 -49
  200. data/doc/en/cairo-ps-surface.html +0 -92
  201. data/doc/en/cairo-quartz-image-surface.html +0 -57
  202. data/doc/en/cairo-quartz-surface.html +0 -57
  203. data/doc/en/cairo-radial-pattern.html +0 -60
  204. data/doc/en/cairo-read-error.html +0 -47
  205. data/doc/en/cairo-rectangle.html +0 -89
  206. data/doc/en/cairo-scaled-font.html +0 -94
  207. data/doc/en/cairo-solid-pattern.html +0 -62
  208. data/doc/en/cairo-subpixel-order.html +0 -39
  209. data/doc/en/cairo-surface-finished-error.html +0 -47
  210. data/doc/en/cairo-surface-pattern.html +0 -57
  211. data/doc/en/cairo-surface-type-mismatch-error.html +0 -47
  212. data/doc/en/cairo-surface.html +0 -121
  213. data/doc/en/cairo-svg-surface.html +0 -77
  214. data/doc/en/cairo-svg-version.html +0 -49
  215. data/doc/en/cairo-temp-file-error.html +0 -47
  216. data/doc/en/cairo-text-cluster-flag.html +0 -35
  217. data/doc/en/cairo-text-cluster.html +0 -84
  218. data/doc/en/cairo-text-extents.html +0 -144
  219. data/doc/en/cairo-toy-font-face.html +0 -67
  220. data/doc/en/cairo-user-font-error.html +0 -47
  221. data/doc/en/cairo-user-font-face-text-to-glyphs-data.html +0 -94
  222. data/doc/en/cairo-user-font-face.html +0 -72
  223. data/doc/en/cairo-user-font-immutable.html +0 -47
  224. data/doc/en/cairo-win32-printing-surface.html +0 -57
  225. data/doc/en/cairo-win32-surface.html +0 -62
  226. data/doc/en/cairo-write-error.html +0 -47
  227. data/doc/en/cairo.html +0 -131
  228. data/doc/en/index.html +0 -1154
  229. data/doc/index.html +0 -18
  230. data/doc/ja/cairo-antialias.html +0 -57
  231. data/doc/ja/cairo-clip-not-representable-error.html +0 -56
  232. data/doc/ja/cairo-color-base.html +0 -75
  233. data/doc/ja/cairo-color-cmyk.html +0 -152
  234. data/doc/ja/cairo-color-hsv.html +0 -135
  235. data/doc/ja/cairo-color-rgb.html +0 -145
  236. data/doc/ja/cairo-color-x11.html +0 -183
  237. data/doc/ja/cairo-color.html +0 -317
  238. data/doc/ja/cairo-content.html +0 -51
  239. data/doc/ja/cairo-context-blur.html +0 -53
  240. data/doc/ja/cairo-context-circle.html +0 -54
  241. data/doc/ja/cairo-context-color.html +0 -52
  242. data/doc/ja/cairo-context-path.html +0 -77
  243. data/doc/ja/cairo-context-rectangle.html +0 -60
  244. data/doc/ja/cairo-context-triangle.html +0 -47
  245. data/doc/ja/cairo-context.html +0 -1542
  246. data/doc/ja/cairo-error.html +0 -56
  247. data/doc/ja/cairo-extend.html +0 -56
  248. data/doc/ja/cairo-file-not-found.html +0 -51
  249. data/doc/ja/cairo-fill-rule.html +0 -58
  250. data/doc/ja/cairo-filter.html +0 -43
  251. data/doc/ja/cairo-font-extents.html +0 -164
  252. data/doc/ja/cairo-font-face.html +0 -55
  253. data/doc/ja/cairo-font-options.html +0 -189
  254. data/doc/ja/cairo-font-slant.html +0 -50
  255. data/doc/ja/cairo-font-type-mismatch.html +0 -52
  256. data/doc/ja/cairo-font-weight.html +0 -47
  257. data/doc/ja/cairo-format.html +0 -81
  258. data/doc/ja/cairo-glyph.html +0 -115
  259. data/doc/ja/cairo-gradient-pattern.html +0 -119
  260. data/doc/ja/cairo-hint-metrics.html +0 -57
  261. data/doc/ja/cairo-hint-style.html +0 -64
  262. data/doc/ja/cairo-image-surface.html +0 -131
  263. data/doc/ja/cairo-invalid-clusters.html +0 -55
  264. data/doc/ja/cairo-invalid-content-error.html +0 -54
  265. data/doc/ja/cairo-invalid-dash-error.html +0 -54
  266. data/doc/ja/cairo-invalid-dsc-comment-error.html +0 -54
  267. data/doc/ja/cairo-invalid-format-error.html +0 -54
  268. data/doc/ja/cairo-invalid-index-error.html +0 -54
  269. data/doc/ja/cairo-invalid-matrix-error.html +0 -54
  270. data/doc/ja/cairo-invalid-path-data-error.html +0 -54
  271. data/doc/ja/cairo-invalid-pop-group-error.html +0 -54
  272. data/doc/ja/cairo-invalid-restore-error.html +0 -55
  273. data/doc/ja/cairo-invalid-slant.html +0 -57
  274. data/doc/ja/cairo-invalid-status-error.html +0 -55
  275. data/doc/ja/cairo-invalid-stride-error.html +0 -55
  276. data/doc/ja/cairo-invalid-string-error.html +0 -54
  277. data/doc/ja/cairo-invalid-visual-error.html +0 -57
  278. data/doc/ja/cairo-invalid-weight.html +0 -57
  279. data/doc/ja/cairo-line-cap.html +0 -50
  280. data/doc/ja/cairo-line-join.html +0 -53
  281. data/doc/ja/cairo-linear-pattern.html +0 -87
  282. data/doc/ja/cairo-matrix.html +0 -354
  283. data/doc/ja/cairo-negative-count.html +0 -52
  284. data/doc/ja/cairo-no-current-point-error.html +0 -54
  285. data/doc/ja/cairo-null-pointer-error.html +0 -54
  286. data/doc/ja/cairo-operator.html +0 -51
  287. data/doc/ja/cairo-paper-parse-error.html +0 -55
  288. data/doc/ja/cairo-paper-unknown-paper-name.html +0 -76
  289. data/doc/ja/cairo-paper-unknown-unit.html +0 -75
  290. data/doc/ja/cairo-paper-unrecognized-paper-description.html +0 -76
  291. data/doc/ja/cairo-paper.html +0 -357
  292. data/doc/ja/cairo-path-close-path.html +0 -57
  293. data/doc/ja/cairo-path-curve-to.html +0 -70
  294. data/doc/ja/cairo-path-data-type.html +0 -53
  295. data/doc/ja/cairo-path-data.html +0 -127
  296. data/doc/ja/cairo-path-line-to.html +0 -62
  297. data/doc/ja/cairo-path-move-to.html +0 -62
  298. data/doc/ja/cairo-path.html +0 -144
  299. data/doc/ja/cairo-pattern-type-mismatch-error.html +0 -56
  300. data/doc/ja/cairo-pattern.html +0 -128
  301. data/doc/ja/cairo-pdf-surface.html +0 -86
  302. data/doc/ja/cairo-point.html +0 -90
  303. data/doc/ja/cairo-ps-level.html +0 -62
  304. data/doc/ja/cairo-ps-surface.html +0 -214
  305. data/doc/ja/cairo-quartz-image-surface.html +0 -75
  306. data/doc/ja/cairo-quartz-surface.html +0 -93
  307. data/doc/ja/cairo-radial-pattern.html +0 -93
  308. data/doc/ja/cairo-read-error.html +0 -55
  309. data/doc/ja/cairo-rectangle.html +0 -109
  310. data/doc/ja/cairo-scaled-font.html +0 -180
  311. data/doc/ja/cairo-solid-pattern.html +0 -87
  312. data/doc/ja/cairo-subpixel-order.html +0 -57
  313. data/doc/ja/cairo-surface-finished-error.html +0 -54
  314. data/doc/ja/cairo-surface-pattern.html +0 -68
  315. data/doc/ja/cairo-surface-type-mismatch-error.html +0 -56
  316. data/doc/ja/cairo-surface.html +0 -213
  317. data/doc/ja/cairo-svg-surface.html +0 -114
  318. data/doc/ja/cairo-svg-version.html +0 -66
  319. data/doc/ja/cairo-temp-file-error.html +0 -50
  320. data/doc/ja/cairo-text-cluster-flag.html +0 -46
  321. data/doc/ja/cairo-text-cluster.html +0 -102
  322. data/doc/ja/cairo-text-extents.html +0 -163
  323. data/doc/ja/cairo-toy-font-face.html +0 -107
  324. data/doc/ja/cairo-user-font-error.html +0 -55
  325. data/doc/ja/cairo-user-font-face-text-to-glyphs-data.html +0 -156
  326. data/doc/ja/cairo-user-font-face.html +0 -268
  327. data/doc/ja/cairo-user-font-immutable.html +0 -54
  328. data/doc/ja/cairo-win32-printing-surface.html +0 -80
  329. data/doc/ja/cairo-win32-surface.html +0 -100
  330. data/doc/ja/cairo-write-error.html +0 -55
  331. data/doc/ja/cairo.html +0 -177
  332. data/doc/ja/index.html +0 -1156
  333. data/pkg-config.rb +0 -313
  334. data/test-unit/Rakefile +0 -30
  335. data/test-unit/bin/testrb +0 -5
  336. data/test-unit/lib/test/unit.rb +0 -280
  337. data/test-unit/lib/test/unit/assertionfailederror.rb +0 -14
  338. data/test-unit/lib/test/unit/assertions.rb +0 -722
  339. data/test-unit/lib/test/unit/attribute.rb +0 -125
  340. data/test-unit/lib/test/unit/autorunner.rb +0 -254
  341. data/test-unit/lib/test/unit/collector.rb +0 -43
  342. data/test-unit/lib/test/unit/collector/descendant.rb +0 -23
  343. data/test-unit/lib/test/unit/collector/dir.rb +0 -108
  344. data/test-unit/lib/test/unit/collector/load.rb +0 -135
  345. data/test-unit/lib/test/unit/collector/objectspace.rb +0 -34
  346. data/test-unit/lib/test/unit/color.rb +0 -61
  347. data/test-unit/lib/test/unit/diff.rb +0 -524
  348. data/test-unit/lib/test/unit/error.rb +0 -124
  349. data/test-unit/lib/test/unit/exceptionhandler.rb +0 -39
  350. data/test-unit/lib/test/unit/failure.rb +0 -110
  351. data/test-unit/lib/test/unit/fixture.rb +0 -185
  352. data/test-unit/lib/test/unit/notification.rb +0 -125
  353. data/test-unit/lib/test/unit/omission.rb +0 -143
  354. data/test-unit/lib/test/unit/pending.rb +0 -146
  355. data/test-unit/lib/test/unit/priority.rb +0 -146
  356. data/test-unit/lib/test/unit/runner/console.rb +0 -46
  357. data/test-unit/lib/test/unit/runner/emacs.rb +0 -8
  358. data/test-unit/lib/test/unit/testcase.rb +0 -281
  359. data/test-unit/lib/test/unit/testresult.rb +0 -89
  360. data/test-unit/lib/test/unit/testsuite.rb +0 -110
  361. data/test-unit/lib/test/unit/ui/console/outputlevel.rb +0 -14
  362. data/test-unit/lib/test/unit/ui/console/testrunner.rb +0 -195
  363. data/test-unit/lib/test/unit/ui/emacs/testrunner.rb +0 -49
  364. data/test-unit/lib/test/unit/ui/testrunner.rb +0 -20
  365. data/test-unit/lib/test/unit/ui/testrunnermediator.rb +0 -77
  366. data/test-unit/lib/test/unit/ui/testrunnerutilities.rb +0 -41
  367. data/test-unit/lib/test/unit/util/backtracefilter.rb +0 -41
  368. data/test-unit/lib/test/unit/util/observable.rb +0 -90
  369. data/test-unit/lib/test/unit/util/procwrapper.rb +0 -48
  370. data/test-unit/lib/test/unit/version.rb +0 -7
  371. data/test-unit/sample/adder.rb +0 -13
  372. data/test-unit/sample/subtracter.rb +0 -12
  373. data/test-unit/sample/tc_adder.rb +0 -18
  374. data/test-unit/sample/tc_subtracter.rb +0 -18
  375. data/test-unit/sample/ts_examples.rb +0 -7
  376. data/test-unit/test/collector/test_descendant.rb +0 -135
  377. data/test-unit/test/collector/test_dir.rb +0 -406
  378. data/test-unit/test/collector/test_load.rb +0 -333
  379. data/test-unit/test/collector/test_objectspace.rb +0 -98
  380. data/test-unit/test/run-test.rb +0 -13
  381. data/test-unit/test/test_assertions.rb +0 -693
  382. data/test-unit/test/test_attribute.rb +0 -86
  383. data/test-unit/test/test_color.rb +0 -37
  384. data/test-unit/test/test_diff.rb +0 -477
  385. data/test-unit/test/test_emacs_runner.rb +0 -60
  386. data/test-unit/test/test_error.rb +0 -26
  387. data/test-unit/test/test_failure.rb +0 -33
  388. data/test-unit/test/test_fixture.rb +0 -252
  389. data/test-unit/test/test_notification.rb +0 -33
  390. data/test-unit/test/test_omission.rb +0 -81
  391. data/test-unit/test/test_pending.rb +0 -70
  392. data/test-unit/test/test_priority.rb +0 -89
  393. data/test-unit/test/test_testcase.rb +0 -430
  394. data/test-unit/test/test_testresult.rb +0 -113
  395. data/test-unit/test/test_testsuite.rb +0 -129
  396. data/test-unit/test/testunit_test_util.rb +0 -14
  397. data/test-unit/test/ui/test_testrunmediator.rb +0 -20
  398. data/test-unit/test/util/test_backtracefilter.rb +0 -41
  399. data/test-unit/test/util/test_observable.rb +0 -102
  400. data/test-unit/test/util/test_procwrapper.rb +0 -36
  401. data/test/test_pkg_config.rb +0 -123
  402. data/vendor/local/include/libpng14/png.h +0 -2701
  403. data/vendor/local/include/libpng14/pngconf.h +0 -1525
  404. data/vendor/local/include/png.h +0 -2701
  405. data/vendor/local/include/pngconf.h +0 -1525
  406. data/vendor/local/include/zconf.h +0 -461
  407. data/vendor/local/include/zlib.h +0 -1589
  408. data/vendor/local/lib/libpng.def +0 -192
  409. data/vendor/local/lib/libpng.lib +0 -0
  410. data/vendor/local/lib/libpng14.dll.a +0 -0
  411. data/vendor/local/lib/libz.dll.a +0 -0
  412. data/vendor/local/lib/pkgconfig/libpng.pc +0 -11
  413. data/vendor/local/lib/pkgconfig/libpng14.pc +0 -11
  414. data/vendor/local/lib/zdll.lib +0 -0
  415. data/vendor/local/lib/zlib.def +0 -67
  416. data/vendor/local/manifest/cairo_1.8.10-4_win32.mft +0 -5
  417. data/vendor/local/manifest/libpng-dev_1.4.3-1_win32.mft +0 -15
  418. data/vendor/local/manifest/zlib-dev_1.2.5-2_win32.mft +0 -8
  419. data/vendor/local/share/gtk-doc/html/cairo/cairo-context.html +0 -2643
  420. data/vendor/local/share/gtk-doc/html/cairo/cairo-error-status.html +0 -360
  421. data/vendor/local/share/gtk-doc/html/cairo/cairo-font-face.html +0 -408
  422. data/vendor/local/share/gtk-doc/html/cairo/cairo-font-options.html +0 -678
  423. data/vendor/local/share/gtk-doc/html/cairo/cairo-ft-font.html +0 -319
  424. data/vendor/local/share/gtk-doc/html/cairo/cairo-image-surface.html +0 -473
  425. data/vendor/local/share/gtk-doc/html/cairo/cairo-matrix.html +0 -596
  426. data/vendor/local/share/gtk-doc/html/cairo/cairo-paths.html +0 -1274
  427. data/vendor/local/share/gtk-doc/html/cairo/cairo-pattern.html +0 -1485
  428. data/vendor/local/share/gtk-doc/html/cairo/cairo-pdf-surface.html +0 -238
  429. data/vendor/local/share/gtk-doc/html/cairo/cairo-png-functions.html +0 -341
  430. data/vendor/local/share/gtk-doc/html/cairo/cairo-ps-surface.html +0 -622
  431. data/vendor/local/share/gtk-doc/html/cairo/cairo-quartz-font.html +0 -151
  432. data/vendor/local/share/gtk-doc/html/cairo/cairo-quartz-surface.html +0 -219
  433. data/vendor/local/share/gtk-doc/html/cairo/cairo-scaled-font.html +0 -1023
  434. data/vendor/local/share/gtk-doc/html/cairo/cairo-surface.html +0 -1026
  435. data/vendor/local/share/gtk-doc/html/cairo/cairo-svg-surface.html +0 -321
  436. data/vendor/local/share/gtk-doc/html/cairo/cairo-transformations.html +0 -436
  437. data/vendor/local/share/gtk-doc/html/cairo/cairo-types.html +0 -133
  438. data/vendor/local/share/gtk-doc/html/cairo/cairo-user-font.html +0 -735
  439. data/vendor/local/share/gtk-doc/html/cairo/cairo-version-info.html +0 -345
  440. data/vendor/local/share/gtk-doc/html/cairo/cairo-win32-font.html +0 -358
  441. data/vendor/local/share/gtk-doc/html/cairo/cairo-win32-surface.html +0 -312
  442. data/vendor/local/share/gtk-doc/html/cairo/cairo-xlib-surface.html +0 -492
  443. data/vendor/local/share/man/man3/libpng.3 +0 -4455
  444. data/vendor/local/share/man/man3/libpngpf.3 +0 -808
  445. data/vendor/local/share/man/man5/png.5 +0 -74
  446. data/vendor/local/src/tml/packaging/cairo_1.8.10-4_win32.log +0 -920
  447. data/vendor/local/src/tml/packaging/libpng_1.4.3-1_win32.log +0 -272
  448. data/vendor/local/src/tml/packaging/libpng_1.4.3-1_win32.sh +0 -71
  449. data/vendor/local/src/tml/packaging/zlib_1.2.5-2_win32.log +0 -42
  450. data/vendor/local/src/tml/packaging/zlib_1.2.5-2_win32.sh +0 -189
@@ -5,6 +5,7 @@
5
5
  * $Author: kou $
6
6
  * $Date: 2008-09-26 13:52:08 $
7
7
  *
8
+ * Copyright 2005-2010 Kouhei Sutou <kou@cozmixng.org>
8
9
  * Copyright 2005 Øyvind Kolås <pippin@freedesktop.org>
9
10
  * Copyright 2004-2005 MenTaLguY <mental@rydia.com>
10
11
  *
@@ -983,6 +984,19 @@ cr_in_fill (VALUE self, VALUE x, VALUE y)
983
984
  return CBOOL2RVAL (cairo_in_fill (_SELF, NUM2DBL (x), NUM2DBL (y)));
984
985
  }
985
986
 
987
+ #if CAIRO_CHECK_VERSION(1, 10, 0)
988
+ static VALUE
989
+ cr_in_clip (VALUE self, VALUE x, VALUE y)
990
+ {
991
+ if (rb_block_given_p ())
992
+ {
993
+ cr_new_path (self);
994
+ rb_yield (self);
995
+ }
996
+ return CBOOL2RVAL (cairo_in_clip (_SELF, NUM2DBL (x), NUM2DBL (y)));
997
+ }
998
+ #endif
999
+
986
1000
  /* Rectangular extents */
987
1001
  static VALUE
988
1002
  cr_stroke_extents (VALUE self)
@@ -1615,6 +1629,9 @@ Init_cairo_context (void)
1615
1629
  /* Insideness testing */
1616
1630
  rb_define_method (rb_cCairo_Context, "in_stroke?", cr_in_stroke, 2);
1617
1631
  rb_define_method (rb_cCairo_Context, "in_fill?", cr_in_fill, 2);
1632
+ #if CAIRO_CHECK_VERSION(1, 10, 0)
1633
+ rb_define_method (rb_cCairo_Context, "in_clip?", cr_in_clip, 2);
1634
+ #endif
1618
1635
 
1619
1636
  /* Rectangular extents */
1620
1637
  rb_define_method (rb_cCairo_Context, "stroke_extents", cr_stroke_extents, 0);
@@ -0,0 +1,406 @@
1
+ /* -*- c-file-style: "gnu"; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Ruby Cairo Binding
4
+ *
5
+ * Copyright 2010 Kouhei Sutou <kou@cozmixng.org>
6
+ *
7
+ * This file is made available under the same terms as Ruby
8
+ *
9
+ */
10
+
11
+ #include "rb_cairo.h"
12
+ #include "rb_cairo_private.h"
13
+ #include "rb_cairo_io.h"
14
+
15
+ #ifdef HAVE_RUBY_ST_H
16
+ # include <ruby/st.h>
17
+ #else
18
+ # include <st.h>
19
+ #endif
20
+
21
+ #ifdef CAIRO_HAS_XML_SURFACE
22
+ # include <cairo-xml.h>
23
+ #endif
24
+
25
+ VALUE rb_cCairo_Device = Qnil;
26
+ VALUE rb_cCairo_DRMDevice = Qnil;
27
+ VALUE rb_cCairo_GLDevice = Qnil;
28
+ VALUE rb_cCairo_ScriptDevice = Qnil;
29
+ VALUE rb_cCairo_XCBDevice = Qnil;
30
+ VALUE rb_cCairo_XlibDevice = Qnil;
31
+ VALUE rb_cCairo_XMLDevice = Qnil;
32
+
33
+ #if CAIRO_CHECK_VERSION(1, 10, 0)
34
+
35
+ static cairo_user_data_key_t cr_closure_key;
36
+ static cairo_user_data_key_t cr_object_holder_key;
37
+ static cairo_user_data_key_t cr_finished_key;
38
+
39
+ #define _SELF (RVAL2CRDEVICE(self))
40
+
41
+ static inline void
42
+ cr_device_check_status (cairo_device_t *device)
43
+ {
44
+ rb_cairo_check_status (cairo_device_status (device));
45
+ }
46
+
47
+ static VALUE
48
+ cr_device_get_klass (cairo_device_t *device)
49
+ {
50
+ VALUE klass;
51
+ cairo_device_type_t type;
52
+
53
+ type = cairo_device_get_type (device);
54
+ switch (type)
55
+ {
56
+ case CAIRO_DEVICE_TYPE_DRM:
57
+ klass = rb_cCairo_DRMDevice;
58
+ break;
59
+ case CAIRO_DEVICE_TYPE_GL:
60
+ klass = rb_cCairo_GLDevice;
61
+ break;
62
+ case CAIRO_DEVICE_TYPE_SCRIPT:
63
+ klass = rb_cCairo_ScriptDevice;
64
+ break;
65
+ case CAIRO_DEVICE_TYPE_XCB:
66
+ klass = rb_cCairo_XCBDevice;
67
+ break;
68
+ case CAIRO_DEVICE_TYPE_XLIB:
69
+ klass = rb_cCairo_XlibDevice;
70
+ break;
71
+ case CAIRO_DEVICE_TYPE_XML:
72
+ klass = rb_cCairo_XMLDevice;
73
+ break;
74
+ default:
75
+ klass = rb_cCairo_Device;
76
+ break;
77
+ }
78
+
79
+ if (NIL_P (klass))
80
+ rb_raise (rb_eArgError, "unknown device type: %d", type);
81
+
82
+ return klass;
83
+ }
84
+
85
+ /* constructor/de-constructor */
86
+ cairo_device_t *
87
+ rb_cairo_device_from_ruby_object (VALUE obj)
88
+ {
89
+ cairo_device_t *device;
90
+ if (!rb_cairo__is_kind_of (obj, rb_cCairo_Device))
91
+ {
92
+ rb_raise (rb_eTypeError, "not a cairo device");
93
+ }
94
+ Data_Get_Struct (obj, cairo_device_t, device);
95
+ if (!device)
96
+ rb_cairo_check_status (CAIRO_STATUS_NULL_POINTER);
97
+ return device;
98
+ }
99
+
100
+ static rb_cairo__object_holder_t *
101
+ cr_object_holder_new (VALUE object)
102
+ {
103
+ return rb_cairo__object_holder_new (rb_cCairo_Device, object);
104
+ }
105
+
106
+ static void
107
+ cr_object_holder_free (void *ptr)
108
+ {
109
+ rb_cairo__object_holder_free (rb_cCairo_Device, ptr);
110
+ }
111
+
112
+ static void
113
+ cr_device_free (void *ptr)
114
+ {
115
+ cairo_device_t *device = ptr;
116
+
117
+ if (device)
118
+ cairo_device_destroy (device);
119
+ }
120
+
121
+ VALUE
122
+ rb_cairo_device_to_ruby_object (cairo_device_t *device)
123
+ {
124
+ if (device)
125
+ {
126
+ VALUE klass;
127
+ klass = cr_device_get_klass (device);
128
+ cairo_device_reference (device);
129
+ return Data_Wrap_Struct (klass, NULL, cr_device_free, device);
130
+ }
131
+ else
132
+ {
133
+ return Qnil;
134
+ }
135
+ }
136
+
137
+ VALUE
138
+ rb_cairo_device_to_ruby_object_with_destroy (cairo_device_t *device)
139
+ {
140
+ VALUE rb_device;
141
+
142
+ rb_device = rb_cairo_device_to_ruby_object (device);
143
+ if (device)
144
+ cairo_device_destroy (device);
145
+
146
+ return rb_device;
147
+ }
148
+
149
+ static VALUE
150
+ cr_device_allocate (VALUE klass)
151
+ {
152
+ return Data_Wrap_Struct (klass, NULL, cr_device_free, NULL);
153
+ }
154
+
155
+ /* Backend device manipulation */
156
+ static VALUE
157
+ cr_device_destroy (VALUE self)
158
+ {
159
+ cairo_device_t *device;
160
+
161
+ device = _SELF;
162
+ cairo_device_destroy (device);
163
+ DATA_PTR (self) = NULL;
164
+
165
+ return self;
166
+ }
167
+
168
+ static VALUE
169
+ cr_device_finish (VALUE self)
170
+ {
171
+ cairo_device_t *device;
172
+ rb_cairo__io_callback_closure_t *closure;
173
+
174
+ device = _SELF;
175
+ closure = cairo_device_get_user_data (device, &cr_closure_key);
176
+
177
+ cairo_device_finish (device);
178
+ cairo_device_set_user_data (device, &cr_finished_key, (void *)CR_TRUE, NULL);
179
+ cairo_device_set_user_data (device, &cr_object_holder_key, NULL, NULL);
180
+
181
+ if (closure && !NIL_P (closure->error))
182
+ rb_exc_raise (closure->error);
183
+ cr_device_check_status (device);
184
+
185
+ return self;
186
+ }
187
+
188
+ static VALUE
189
+ cr_device_flush (VALUE self)
190
+ {
191
+ cairo_device_flush (_SELF);
192
+ cr_device_check_status (_SELF);
193
+ return self;
194
+ }
195
+
196
+ static VALUE
197
+ cr_device_release (VALUE self)
198
+ {
199
+ cairo_device_release (_SELF);
200
+ cr_device_check_status (_SELF);
201
+ return self;
202
+ }
203
+
204
+ static VALUE
205
+ cr_device_acquire (VALUE self)
206
+ {
207
+ cairo_device_acquire (_SELF);
208
+ cr_device_check_status (_SELF);
209
+ if (rb_block_given_p ())
210
+ return rb_ensure (rb_yield, self, cr_device_release, self);
211
+ else
212
+ return self;
213
+ }
214
+
215
+ static int
216
+ cr_finish_all_guarded_devices_at_end_iter (VALUE key, VALUE value, VALUE data)
217
+ {
218
+ cr_device_finish (key);
219
+ return ST_CONTINUE;
220
+ }
221
+
222
+ static void
223
+ cr_finish_all_guarded_devices_at_end (VALUE data)
224
+ {
225
+ rb_hash_foreach (rb_cairo__gc_guarded_objects (rb_cCairo_Device),
226
+ cr_finish_all_guarded_devices_at_end_iter,
227
+ Qnil);
228
+ }
229
+
230
+ static void
231
+ yield_and_finish (VALUE self)
232
+ {
233
+ cairo_device_t *device;
234
+
235
+ rb_yield (self);
236
+
237
+ device = _SELF;
238
+ if (!cairo_device_get_user_data (device, &cr_finished_key))
239
+ cr_device_finish (self);
240
+ }
241
+
242
+ #define DEFINE_OUTPUT_INITIALIZE(type) \
243
+ static VALUE \
244
+ cr_ ## type ## _device_initialize (VALUE self, \
245
+ VALUE file_name_or_output) \
246
+ { \
247
+ cairo_device_t *device; \
248
+ \
249
+ if (rb_respond_to (file_name_or_output, rb_cairo__io_id_write)) \
250
+ { \
251
+ rb_cairo__io_callback_closure_t *closure; \
252
+ \
253
+ closure = rb_cairo__io_closure_new (file_name_or_output); \
254
+ device = \
255
+ cairo_ ## type ## _create_for_stream (rb_cairo__io_write_func, \
256
+ (void *)closure); \
257
+ if (cairo_device_status (device)) \
258
+ { \
259
+ rb_cairo__io_closure_destroy (closure); \
260
+ } \
261
+ else \
262
+ { \
263
+ rb_ivar_set (self, rb_cairo__io_id_output, \
264
+ file_name_or_output); \
265
+ cairo_device_set_user_data (device, &cr_closure_key, \
266
+ closure, \
267
+ rb_cairo__io_closure_free); \
268
+ cairo_device_set_user_data (device, &cr_object_holder_key, \
269
+ cr_object_holder_new (self), \
270
+ cr_object_holder_free); \
271
+ } \
272
+ } \
273
+ else \
274
+ { \
275
+ const char *file_name; \
276
+ file_name = StringValueCStr (file_name_or_output); \
277
+ device = cairo_ ## type ## _create (file_name); \
278
+ } \
279
+ \
280
+ cr_device_check_status (device); \
281
+ DATA_PTR (self) = device; \
282
+ if (rb_block_given_p ()) \
283
+ yield_and_finish (self); \
284
+ return Qnil; \
285
+ }
286
+
287
+ # ifdef CAIRO_HAS_SCRIPT_SURFACE
288
+ DEFINE_OUTPUT_INITIALIZE(script)
289
+
290
+ static VALUE
291
+ cr_script_device_write_comment (VALUE self, VALUE comment)
292
+ {
293
+ cairo_device_t *device;
294
+
295
+ device = _SELF;
296
+ cairo_script_write_comment (device,
297
+ StringValuePtr (comment),
298
+ RSTRING_LEN (comment));
299
+ cr_device_check_status (device);
300
+ return Qnil;
301
+ }
302
+
303
+ static VALUE
304
+ cr_script_device_set_mode (VALUE self, VALUE mode)
305
+ {
306
+ cairo_device_t *device;
307
+
308
+ device = _SELF;
309
+ cairo_script_set_mode (device, RVAL2CRSCRIPTMODE (mode));
310
+ cr_device_check_status (device);
311
+ return Qnil;
312
+ }
313
+
314
+ static VALUE
315
+ cr_script_device_get_mode (VALUE self)
316
+ {
317
+ return INT2NUM (cairo_script_get_mode (_SELF));
318
+ }
319
+
320
+ static VALUE
321
+ cr_script_device_reply (VALUE self, VALUE recording_surface)
322
+ {
323
+ cairo_device_t *device;
324
+
325
+ device = _SELF;
326
+ cairo_script_from_recording_surface (device,
327
+ RVAL2CRSURFACE (recording_surface));
328
+ cr_device_check_status (device);
329
+ return Qnil;
330
+ }
331
+ # endif
332
+
333
+ # ifdef CAIRO_HAS_XML_SURFACE
334
+ DEFINE_OUTPUT_INITIALIZE(xml)
335
+
336
+ static VALUE
337
+ cr_xml_device_reply (VALUE self, VALUE recording_surface)
338
+ {
339
+ cairo_device_t *device;
340
+
341
+ device = _SELF;
342
+ cairo_xml_for_recording_surface (device,
343
+ RVAL2CRSURFACE (recording_surface));
344
+ cr_device_check_status (device);
345
+ return Qnil;
346
+ }
347
+ # endif
348
+
349
+ #endif
350
+
351
+ void
352
+ Init_cairo_device (void)
353
+ {
354
+ #if CAIRO_CHECK_VERSION(1, 10, 0)
355
+ rb_cCairo_Device =
356
+ rb_define_class_under (rb_mCairo, "Device", rb_cObject);
357
+ rb_define_alloc_func (rb_cCairo_Device, cr_device_allocate);
358
+
359
+ rb_cairo__initialize_gc_guard_holder_class (rb_cCairo_Device);
360
+ rb_set_end_proc(cr_finish_all_guarded_devices_at_end, Qnil);
361
+
362
+
363
+ rb_define_method (rb_cCairo_Device, "destroy", cr_device_destroy, 0);
364
+ rb_define_method (rb_cCairo_Device, "finish", cr_device_finish, 0);
365
+ rb_define_method (rb_cCairo_Device, "flush", cr_device_flush, 0);
366
+ rb_define_method (rb_cCairo_Device, "acquire", cr_device_acquire, 0);
367
+ rb_define_method (rb_cCairo_Device, "release", cr_device_release, 0);
368
+
369
+ RB_CAIRO_DEF_SETTERS (rb_cCairo_Device);
370
+
371
+ # ifdef CAIRO_HAS_SCRIPT_SURFACE
372
+ rb_cCairo_ScriptDevice =
373
+ rb_define_class_under (rb_mCairo, "ScriptDevice", rb_cCairo_Device);
374
+
375
+ rb_define_method (rb_cCairo_ScriptDevice, "initialize",
376
+ cr_script_device_initialize, 1);
377
+
378
+ rb_define_method (rb_cCairo_ScriptDevice, "write_comment",
379
+ cr_script_device_write_comment, 1);
380
+
381
+ rb_define_method (rb_cCairo_ScriptDevice, "set_mode",
382
+ cr_script_device_set_mode, 1);
383
+ rb_define_method (rb_cCairo_ScriptDevice, "mode",
384
+ cr_script_device_get_mode, 0);
385
+
386
+ rb_define_method (rb_cCairo_ScriptDevice, "reply",
387
+ cr_script_device_reply, 1);
388
+
389
+ RB_CAIRO_DEF_SETTERS (rb_cCairo_ScriptDevice);
390
+ # endif
391
+
392
+ # ifdef CAIRO_HAS_XML_SURFACE
393
+ rb_cCairo_XMLDevice =
394
+ rb_define_class_under (rb_mCairo, "XMLDevice", rb_cCairo_Device);
395
+
396
+ rb_define_method (rb_cCairo_XMLDevice, "initialize",
397
+ cr_xml_device_initialize, 1);
398
+
399
+ rb_define_method (rb_cCairo_XMLDevice, "reply",
400
+ cr_xml_device_reply, 1);
401
+
402
+ RB_CAIRO_DEF_SETTERS (rb_cCairo_XMLDevice);
403
+ # endif
404
+
405
+ #endif
406
+ }
@@ -51,113 +51,136 @@ static VALUE rb_eCairo_InvalidClusters;
51
51
  static VALUE rb_eCairo_InvalidSlant;
52
52
  static VALUE rb_eCairo_InvalidWeight;
53
53
  #endif
54
+ #if CAIRO_CHECK_VERSION(1, 10, 0)
55
+ static VALUE rb_eCairo_InvalidSize;
56
+ static VALUE rb_eCairo_UserFontNotImplemented;
57
+ static VALUE rb_eCairo_DeviceTypeMismatch;
58
+ static VALUE rb_eCairo_DeviceError;
59
+ #endif
54
60
 
55
61
  void
56
62
  rb_cairo_check_status (cairo_status_t status)
57
63
  {
58
64
  const char *string = cairo_status_to_string (status);
59
-
65
+
60
66
  switch (status)
61
67
  {
62
68
  case CAIRO_STATUS_SUCCESS:
63
69
  break;
64
70
  case CAIRO_STATUS_NO_MEMORY:
65
- rb_raise (rb_eNoMemError, string);
71
+ rb_raise (rb_eNoMemError, "%s", string);
66
72
  break;
67
73
  case CAIRO_STATUS_INVALID_RESTORE:
68
- rb_raise (rb_eCairo_InvalidRestoreError, string);
74
+ rb_raise (rb_eCairo_InvalidRestoreError, "%s", string);
69
75
  break;
70
76
  case CAIRO_STATUS_INVALID_POP_GROUP:
71
- rb_raise (rb_eCairo_InvalidPopGroupError, string);
77
+ rb_raise (rb_eCairo_InvalidPopGroupError, "%s", string);
72
78
  break;
73
79
  case CAIRO_STATUS_NO_CURRENT_POINT:
74
- rb_raise (rb_eCairo_NoCurrentPointError, string);
80
+ rb_raise (rb_eCairo_NoCurrentPointError, "%s", string);
75
81
  break;
76
82
  case CAIRO_STATUS_INVALID_MATRIX:
77
- rb_raise (rb_eCairo_InvalidMatrixError, string);
83
+ rb_raise (rb_eCairo_InvalidMatrixError, "%s", string);
78
84
  break;
79
85
  case CAIRO_STATUS_INVALID_STATUS:
80
- rb_raise (rb_eCairo_InvalidStatusError, string);
86
+ rb_raise (rb_eCairo_InvalidStatusError, "%s", string);
81
87
  break;
82
88
  case CAIRO_STATUS_NULL_POINTER:
83
- rb_raise (rb_eCairo_NullPointerError, string);
89
+ rb_raise (rb_eCairo_NullPointerError, "%s", string);
84
90
  break;
85
91
  case CAIRO_STATUS_INVALID_STRING:
86
- rb_raise (rb_eCairo_InvalidStringError, string);
92
+ rb_raise (rb_eCairo_InvalidStringError, "%s", string);
87
93
  break;
88
94
  case CAIRO_STATUS_INVALID_PATH_DATA:
89
- rb_raise (rb_eCairo_InvalidPathDataError, string);
95
+ rb_raise (rb_eCairo_InvalidPathDataError, "%s", string);
90
96
  break;
91
97
  case CAIRO_STATUS_READ_ERROR:
92
- rb_raise (rb_eCairo_ReadError, string);
98
+ rb_raise (rb_eCairo_ReadError, "%s", string);
93
99
  break;
94
100
  case CAIRO_STATUS_WRITE_ERROR:
95
- rb_raise (rb_eCairo_WriteError, string);
101
+ rb_raise (rb_eCairo_WriteError, "%s", string);
96
102
  break;
97
103
  case CAIRO_STATUS_SURFACE_FINISHED:
98
- rb_raise (rb_eCairo_SurfaceFinishedError, string);
104
+ rb_raise (rb_eCairo_SurfaceFinishedError, "%s", string);
99
105
  break;
100
106
  case CAIRO_STATUS_SURFACE_TYPE_MISMATCH:
101
- rb_raise (rb_eCairo_SurfaceTypeMismatchError, string);
107
+ rb_raise (rb_eCairo_SurfaceTypeMismatchError, "%s", string);
102
108
  break;
103
109
  case CAIRO_STATUS_PATTERN_TYPE_MISMATCH:
104
- rb_raise (rb_eCairo_PatternTypeMismatchError, string);
110
+ rb_raise (rb_eCairo_PatternTypeMismatchError, "%s", string);
105
111
  break;
106
112
  case CAIRO_STATUS_INVALID_CONTENT:
107
- rb_raise (rb_eCairo_InvalidContentError, string);
113
+ rb_raise (rb_eCairo_InvalidContentError, "%s", string);
108
114
  break;
109
115
  case CAIRO_STATUS_INVALID_FORMAT:
110
- rb_raise (rb_eCairo_InvalidFormatError, string);
116
+ rb_raise (rb_eCairo_InvalidFormatError, "%s", string);
111
117
  break;
112
118
  case CAIRO_STATUS_INVALID_VISUAL:
113
- rb_raise (rb_eCairo_InvalidVisualError, string);
119
+ rb_raise (rb_eCairo_InvalidVisualError, "%s", string);
114
120
  break;
115
121
  case CAIRO_STATUS_FILE_NOT_FOUND:
116
- rb_raise (rb_eCairo_FileNotFoundError, string);
122
+ rb_raise (rb_eCairo_FileNotFoundError, "%s", string);
117
123
  break;
118
124
  case CAIRO_STATUS_INVALID_DASH:
119
- rb_raise (rb_eCairo_InvalidDashError, string);
125
+ rb_raise (rb_eCairo_InvalidDashError, "%s", string);
120
126
  break;
121
127
  case CAIRO_STATUS_INVALID_DSC_COMMENT:
122
- rb_raise (rb_eCairo_InvalidDscCommentError, string);
128
+ rb_raise (rb_eCairo_InvalidDscCommentError, "%s", string);
123
129
  break;
124
130
  #if CAIRO_CHECK_VERSION(1, 3, 0)
125
131
  case CAIRO_STATUS_INVALID_INDEX:
126
- rb_raise (rb_eCairo_InvalidIndexError, string);
132
+ rb_raise (rb_eCairo_InvalidIndexError, "%s", string);
127
133
  break;
128
134
  case CAIRO_STATUS_CLIP_NOT_REPRESENTABLE:
129
- rb_raise (rb_eCairo_ClipNotRepresentableError, string);
135
+ rb_raise (rb_eCairo_ClipNotRepresentableError, "%s", string);
130
136
  break;
131
137
  #endif
132
138
  #if CAIRO_CHECK_VERSION(1, 5, 6)
133
139
  case CAIRO_STATUS_TEMP_FILE_ERROR:
134
- rb_raise (rb_eCairo_TempFileError, string);
140
+ rb_raise (rb_eCairo_TempFileError, "%s", string);
135
141
  break;
136
142
  case CAIRO_STATUS_INVALID_STRIDE:
137
- rb_raise (rb_eCairo_InvalidStringError, string);
143
+ rb_raise (rb_eCairo_InvalidStringError, "%s", string);
138
144
  break;
139
145
  #endif
140
146
  #if CAIRO_CHECK_VERSION(1, 7, 2)
141
147
  case CAIRO_STATUS_FONT_TYPE_MISMATCH:
142
- rb_raise (rb_eCairo_FontTypeMismatch, string);
148
+ rb_raise (rb_eCairo_FontTypeMismatch, "%s", string);
143
149
  break;
144
150
  case CAIRO_STATUS_USER_FONT_IMMUTABLE:
145
- rb_raise (rb_eCairo_UserFontImmutable, string);
151
+ rb_raise (rb_eCairo_UserFontImmutable, "%s", string);
146
152
  break;
147
153
  case CAIRO_STATUS_USER_FONT_ERROR:
148
- rb_raise (rb_eCairo_UserFontError, string);
154
+ rb_raise (rb_eCairo_UserFontError, "%s", string);
149
155
  break;
150
156
  case CAIRO_STATUS_NEGATIVE_COUNT:
151
- rb_raise (rb_eCairo_NegativeCount, string);
157
+ rb_raise (rb_eCairo_NegativeCount, "%s", string);
152
158
  break;
153
159
  case CAIRO_STATUS_INVALID_CLUSTERS:
154
- rb_raise (rb_eCairo_InvalidClusters, string);
160
+ rb_raise (rb_eCairo_InvalidClusters, "%s", string);
155
161
  break;
156
162
  case CAIRO_STATUS_INVALID_SLANT:
157
- rb_raise (rb_eCairo_InvalidSlant, string);
163
+ rb_raise (rb_eCairo_InvalidSlant, "%s", string);
158
164
  break;
159
165
  case CAIRO_STATUS_INVALID_WEIGHT:
160
- rb_raise (rb_eCairo_InvalidWeight, string);
166
+ rb_raise (rb_eCairo_InvalidWeight, "%s", string);
167
+ break;
168
+ #endif
169
+ #if CAIRO_CHECK_VERSION(1, 10, 0)
170
+ case CAIRO_STATUS_INVALID_SIZE:
171
+ rb_raise (rb_eCairo_InvalidSize, "%s", string);
172
+ break;
173
+ case CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED:
174
+ rb_raise (rb_eCairo_UserFontNotImplemented, "%s", string);
175
+ break;
176
+ case CAIRO_STATUS_DEVICE_TYPE_MISMATCH:
177
+ rb_raise (rb_eCairo_DeviceTypeMismatch, "%s", string);
178
+ break;
179
+ case CAIRO_STATUS_DEVICE_ERROR:
180
+ rb_raise (rb_eCairo_DeviceError, "%s", string);
181
+ break;
182
+ case CAIRO_STATUS_LAST_STATUS:
183
+ rb_raise (rb_eArgError, "bug: %s: %d", string, status);
161
184
  break;
162
185
  #endif
163
186
  }
@@ -236,6 +259,16 @@ rb_cairo__exception_to_status (VALUE exception)
236
259
  else if (rb_cairo__is_kind_of (exception, rb_eCairo_InvalidWeight))
237
260
  return CAIRO_STATUS_INVALID_WEIGHT;
238
261
  #endif
262
+ #if CAIRO_CHECK_VERSION(1, 10, 0)
263
+ else if (rb_cairo__is_kind_of (exception, rb_eCairo_InvalidSize))
264
+ return CAIRO_STATUS_INVALID_SIZE;
265
+ else if (rb_cairo__is_kind_of (exception, rb_eCairo_UserFontNotImplemented))
266
+ return CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED;
267
+ else if (rb_cairo__is_kind_of (exception, rb_eCairo_DeviceTypeMismatch))
268
+ return CAIRO_STATUS_DEVICE_TYPE_MISMATCH;
269
+ else if (rb_cairo__is_kind_of (exception, rb_eCairo_DeviceError))
270
+ return CAIRO_STATUS_DEVICE_ERROR;
271
+ #endif
239
272
 
240
273
  return -1;
241
274
  }
@@ -351,4 +384,22 @@ Init_cairo_exception ()
351
384
  rb_define_class_under (rb_mCairo, "InvalidWeight",
352
385
  rb_eArgError);
353
386
  #endif
387
+
388
+ #if CAIRO_CHECK_VERSION(1, 10, 0)
389
+ rb_eCairo_InvalidSize =
390
+ rb_define_class_under (rb_mCairo, "InvalidSize",
391
+ rb_eArgError);
392
+
393
+ rb_eCairo_UserFontNotImplemented =
394
+ rb_define_class_under (rb_mCairo, "UserFontNotImplemented",
395
+ rb_eCairo_Error);
396
+
397
+ rb_eCairo_DeviceTypeMismatch =
398
+ rb_define_class_under (rb_mCairo, "DeviceTypeMismatch",
399
+ rb_eArgError);
400
+
401
+ rb_eCairo_DeviceError =
402
+ rb_define_class_under (rb_mCairo, "DeviceError",
403
+ rb_eCairo_Error);
404
+ #endif
354
405
  }