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
@@ -12,7 +12,7 @@
12
12
  *
13
13
  * You should have received a copy of the LGPL along with this library
14
14
  * in the file COPYING-LGPL-2.1; if not, write to the Free Software
15
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
15
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
16
16
  * You should have received a copy of the MPL along with this library
17
17
  * in the file COPYING-MPL-1.1
18
18
  *
@@ -43,6 +43,21 @@
43
43
 
44
44
  CAIRO_BEGIN_DECLS
45
45
 
46
+ /**
47
+ * cairo_pdf_version_t:
48
+ * @CAIRO_PDF_VERSION_1_4: The version 1.4 of the PDF specification.
49
+ * @CAIRO_PDF_VERSION_1_5: The version 1.5 of the PDF specification.
50
+ *
51
+ * #cairo_pdf_version_t is used to describe the version number of the PDF
52
+ * specification that a generated PDF file will conform to.
53
+ *
54
+ * Since 1.10
55
+ */
56
+ typedef enum _cairo_pdf_version {
57
+ CAIRO_PDF_VERSION_1_4,
58
+ CAIRO_PDF_VERSION_1_5
59
+ } cairo_pdf_version_t;
60
+
46
61
  cairo_public cairo_surface_t *
47
62
  cairo_pdf_surface_create (const char *filename,
48
63
  double width_in_points,
@@ -54,6 +69,17 @@ cairo_pdf_surface_create_for_stream (cairo_write_func_t write_func,
54
69
  double width_in_points,
55
70
  double height_in_points);
56
71
 
72
+ cairo_public void
73
+ cairo_pdf_surface_restrict_to_version (cairo_surface_t *surface,
74
+ cairo_pdf_version_t version);
75
+
76
+ cairo_public void
77
+ cairo_pdf_get_versions (cairo_pdf_version_t const **versions,
78
+ int *num_versions);
79
+
80
+ cairo_public const char *
81
+ cairo_pdf_version_to_string (cairo_pdf_version_t version);
82
+
57
83
  cairo_public void
58
84
  cairo_pdf_surface_set_size (cairo_surface_t *surface,
59
85
  double width_in_points,
@@ -12,7 +12,7 @@
12
12
  *
13
13
  * You should have received a copy of the LGPL along with this library
14
14
  * in the file COPYING-LGPL-2.1; if not, write to the Free Software
15
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
15
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
16
16
  * You should have received a copy of the MPL along with this library
17
17
  * in the file COPYING-MPL-1.1
18
18
  *
@@ -0,0 +1,117 @@
1
+ /* cairo - a vector graphics library with display and print output
2
+ *
3
+ * Copyright © 2008 Chris Wilson
4
+ *
5
+ * This library is free software; you can redistribute it and/or
6
+ * modify it either under the terms of the GNU Lesser General Public
7
+ * License version 2.1 as published by the Free Software Foundation
8
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
9
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
10
+ * notice, a recipient may use your version of this file under either
11
+ * the MPL or the LGPL.
12
+ *
13
+ * You should have received a copy of the LGPL along with this library
14
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
15
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
16
+ * You should have received a copy of the MPL along with this library
17
+ * in the file COPYING-MPL-1.1
18
+ *
19
+ * The contents of this file are subject to the Mozilla Public License
20
+ * Version 1.1 (the "License"); you may not use this file except in
21
+ * compliance with the License. You may obtain a copy of the License at
22
+ * http://www.mozilla.org/MPL/
23
+ *
24
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
25
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
26
+ * the specific language governing rights and limitations.
27
+ *
28
+ * The Original Code is the cairo graphics library.
29
+ *
30
+ * The Initial Developer of the Original Code is Chris Wilson
31
+ *
32
+ * Contributor(s):
33
+ * Chris Wilson <chris@chris-wilson.co.uk>
34
+ */
35
+
36
+ #ifndef CAIRO_SCRIPT_INTERPRETER_H
37
+ #define CAIRO_SCRIPT_INTERPRETER_H
38
+
39
+ #include <cairo.h>
40
+ #include <stdio.h>
41
+
42
+ CAIRO_BEGIN_DECLS
43
+
44
+ typedef struct _cairo_script_interpreter cairo_script_interpreter_t;
45
+
46
+ /* XXX expose csi_dictionary_t and pass to hooks */
47
+ typedef void
48
+ (*csi_destroy_func_t) (void *closure,
49
+ void *ptr);
50
+
51
+ typedef cairo_surface_t *
52
+ (*csi_surface_create_func_t) (void *closure,
53
+ cairo_content_t content,
54
+ double width,
55
+ double height,
56
+ long uid);
57
+ typedef cairo_t *
58
+ (*csi_context_create_func_t) (void *closure,
59
+ cairo_surface_t *surface);
60
+ typedef void
61
+ (*csi_show_page_func_t) (void *closure,
62
+ cairo_t *cr);
63
+
64
+ typedef void
65
+ (*csi_copy_page_func_t) (void *closure,
66
+ cairo_t *cr);
67
+
68
+ typedef struct _cairo_script_interpreter_hooks {
69
+ void *closure;
70
+ csi_surface_create_func_t surface_create;
71
+ csi_destroy_func_t surface_destroy;
72
+ csi_context_create_func_t context_create;
73
+ csi_destroy_func_t context_destroy;
74
+ csi_show_page_func_t show_page;
75
+ csi_copy_page_func_t copy_page;
76
+ } cairo_script_interpreter_hooks_t;
77
+
78
+ cairo_public cairo_script_interpreter_t *
79
+ cairo_script_interpreter_create (void);
80
+
81
+ cairo_public void
82
+ cairo_script_interpreter_install_hooks (cairo_script_interpreter_t *ctx,
83
+ const cairo_script_interpreter_hooks_t *hooks);
84
+
85
+ cairo_public cairo_status_t
86
+ cairo_script_interpreter_run (cairo_script_interpreter_t *ctx,
87
+ const char *filename);
88
+
89
+ cairo_public cairo_status_t
90
+ cairo_script_interpreter_feed_stream (cairo_script_interpreter_t *ctx,
91
+ FILE *stream);
92
+
93
+ cairo_public cairo_status_t
94
+ cairo_script_interpreter_feed_string (cairo_script_interpreter_t *ctx,
95
+ const char *line,
96
+ int len);
97
+
98
+ cairo_public unsigned int
99
+ cairo_script_interpreter_get_line_number (cairo_script_interpreter_t *ctx);
100
+
101
+ cairo_public cairo_script_interpreter_t *
102
+ cairo_script_interpreter_reference (cairo_script_interpreter_t *ctx);
103
+
104
+ cairo_public cairo_status_t
105
+ cairo_script_interpreter_finish (cairo_script_interpreter_t *ctx);
106
+
107
+ cairo_public cairo_status_t
108
+ cairo_script_interpreter_destroy (cairo_script_interpreter_t *ctx);
109
+
110
+ cairo_public cairo_status_t
111
+ cairo_script_interpreter_translate_stream (FILE *stream,
112
+ cairo_write_func_t write_func,
113
+ void *closure);
114
+
115
+ CAIRO_END_DECLS
116
+
117
+ #endif /*CAIRO_SCRIPT_INTERPRETER_H*/
@@ -14,7 +14,7 @@
14
14
  *
15
15
  * You should have received a copy of the LGPL along with this library
16
16
  * in the file COPYING-LGPL-2.1; if not, write to the Free Software
17
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
18
18
  * You should have received a copy of the MPL along with this library
19
19
  * in the file COPYING-MPL-1.1
20
20
  *
@@ -2,7 +2,7 @@
2
2
  #define CAIRO_VERSION_H
3
3
 
4
4
  #define CAIRO_VERSION_MAJOR 1
5
- #define CAIRO_VERSION_MINOR 8
6
- #define CAIRO_VERSION_MICRO 10
5
+ #define CAIRO_VERSION_MINOR 10
6
+ #define CAIRO_VERSION_MICRO 0
7
7
 
8
8
  #endif
@@ -13,7 +13,7 @@
13
13
  *
14
14
  * You should have received a copy of the LGPL along with this library
15
15
  * in the file COPYING-LGPL-2.1; if not, write to the Free Software
16
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
17
17
  * You should have received a copy of the MPL along with this library
18
18
  * in the file COPYING-MPL-1.1
19
19
  *
@@ -13,7 +13,7 @@
13
13
  *
14
14
  * You should have received a copy of the LGPL along with this library
15
15
  * in the file COPYING-LGPL-2.1; if not, write to the Free Software
16
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
17
17
  * You should have received a copy of the MPL along with this library
18
18
  * in the file COPYING-MPL-1.1
19
19
  *
@@ -132,11 +132,38 @@ typedef struct _cairo cairo_t;
132
132
  * creates a bitmap image in memory.
133
133
  * The type of a surface can be queried with cairo_surface_get_type().
134
134
  *
135
+ * The initial contents of a surface after creation depend upon the manner
136
+ * of its creation. If cairo creates the surface and backing storage for
137
+ * the user, it will be initially cleared; for example,
138
+ * cairo_image_surface_create() and cairo_surface_create_similar().
139
+ * Alternatively, if the user passes in a reference to some backing storage
140
+ * and asks cairo to wrap that in a #cairo_surface_t, then the contents are
141
+ * not modified; for example, cairo_image_surface_create_for_data() and
142
+ * cairo_xlib_surface_create().
143
+ *
135
144
  * Memory management of #cairo_surface_t is done with
136
145
  * cairo_surface_reference() and cairo_surface_destroy().
137
146
  **/
138
147
  typedef struct _cairo_surface cairo_surface_t;
139
148
 
149
+ /**
150
+ * cairo_device_t:
151
+ *
152
+ * A #cairo_device_t represents the driver interface for drawing
153
+ * operations to a #cairo_surface_t. There are different subtypes of
154
+ * #cairo_device_t for different drawing backends; for example,
155
+ * cairo_xcb_device_create() creates a device that wraps the connection
156
+ * to an X Windows System using the XCB library.
157
+ *
158
+ * The type of a device can be queried with cairo_device_get_type().
159
+ *
160
+ * Memory management of #cairo_device_t is done with
161
+ * cairo_device_reference() and cairo_device_destroy().
162
+ *
163
+ * Since: 1.10
164
+ **/
165
+ typedef struct _cairo_device cairo_device_t;
166
+
140
167
  /**
141
168
  * cairo_matrix_t:
142
169
  * @xx: xx component of the affine transformation
@@ -210,7 +237,7 @@ typedef struct _cairo_user_data_key {
210
237
  * @CAIRO_STATUS_SUCCESS: no error has occurred
211
238
  * @CAIRO_STATUS_NO_MEMORY: out of memory
212
239
  * @CAIRO_STATUS_INVALID_RESTORE: cairo_restore() called without matching cairo_save()
213
- * @CAIRO_STATUS_INVALID_POP_GROUP: no saved group to pop
240
+ * @CAIRO_STATUS_INVALID_POP_GROUP: no saved group to pop, i.e. cairo_pop_group() without matching cairo_push_group()
214
241
  * @CAIRO_STATUS_NO_CURRENT_POINT: no current point defined
215
242
  * @CAIRO_STATUS_INVALID_MATRIX: invalid matrix (not invertible)
216
243
  * @CAIRO_STATUS_INVALID_STATUS: invalid value for an input #cairo_status_t
@@ -239,6 +266,14 @@ typedef struct _cairo_user_data_key {
239
266
  * @CAIRO_STATUS_INVALID_CLUSTERS: input clusters do not represent the accompanying text and glyph array (Since 1.8)
240
267
  * @CAIRO_STATUS_INVALID_SLANT: invalid value for an input #cairo_font_slant_t (Since 1.8)
241
268
  * @CAIRO_STATUS_INVALID_WEIGHT: invalid value for an input #cairo_font_weight_t (Since 1.8)
269
+ * @CAIRO_STATUS_INVALID_SIZE: invalid value (typically too big) for the size of the input (surface, pattern, etc.) (Since 1.10)
270
+ * @CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED: user-font method not implemented (Since 1.10)
271
+ * @CAIRO_STATUS_DEVICE_TYPE_MISMATCH: the device type is not appropriate for the operation (Since 1.10)
272
+ * @CAIRO_STATUS_DEVICE_ERROR: an operation to the device caused an unspecified error (Since 1.10)
273
+ * @CAIRO_STATUS_LAST_STATUS: this is a special value indicating the number of
274
+ * status values defined in this enumeration. When using this value, note
275
+ * that the version of cairo at run-time may have additional status values
276
+ * defined than the value of this symbol at compile-time. (Since 1.10)
242
277
  *
243
278
  * #cairo_status_t is used to indicate errors that can occur when
244
279
  * using Cairo. In some cases it is returned directly by functions.
@@ -250,6 +285,7 @@ typedef struct _cairo_user_data_key {
250
285
  **/
251
286
  typedef enum _cairo_status {
252
287
  CAIRO_STATUS_SUCCESS = 0,
288
+
253
289
  CAIRO_STATUS_NO_MEMORY,
254
290
  CAIRO_STATUS_INVALID_RESTORE,
255
291
  CAIRO_STATUS_INVALID_POP_GROUP,
@@ -280,8 +316,13 @@ typedef enum _cairo_status {
280
316
  CAIRO_STATUS_NEGATIVE_COUNT,
281
317
  CAIRO_STATUS_INVALID_CLUSTERS,
282
318
  CAIRO_STATUS_INVALID_SLANT,
283
- CAIRO_STATUS_INVALID_WEIGHT
284
- /* after adding a new error: update CAIRO_STATUS_LAST_STATUS in cairoint.h */
319
+ CAIRO_STATUS_INVALID_WEIGHT,
320
+ CAIRO_STATUS_INVALID_SIZE,
321
+ CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED,
322
+ CAIRO_STATUS_DEVICE_TYPE_MISMATCH,
323
+ CAIRO_STATUS_DEVICE_ERROR,
324
+
325
+ CAIRO_STATUS_LAST_STATUS
285
326
  } cairo_status_t;
286
327
 
287
328
  /**
@@ -412,6 +453,41 @@ cairo_pop_group_to_source (cairo_t *cr);
412
453
  * @CAIRO_OPERATOR_ADD: source and destination layers are accumulated
413
454
  * @CAIRO_OPERATOR_SATURATE: like over, but assuming source and dest are
414
455
  * disjoint geometries
456
+ * @CAIRO_OPERATOR_MULTIPLY: source and destination layers are multiplied.
457
+ * This causes the result to be at least as dark as the darker inputs.
458
+ * @CAIRO_OPERATOR_SCREEN: source and destination are complemented and
459
+ * multiplied. This causes the result to be at least as light as the lighter
460
+ * inputs.
461
+ * @CAIRO_OPERATOR_OVERLAY: multiplies or screens, depending on the
462
+ * lightness of the destination color.
463
+ * @CAIRO_OPERATOR_DARKEN: replaces the destination with the source if it
464
+ * is darker, otherwise keeps the source.
465
+ * @CAIRO_OPERATOR_LIGHTEN: replaces the destination with the source if it
466
+ * is lighter, otherwise keeps the source.
467
+ * @CAIRO_OPERATOR_COLOR_DODGE: brightens the destination color to reflect
468
+ * the source color.
469
+ * @CAIRO_OPERATOR_COLOR_BURN: darkens the destination color to reflect
470
+ * the source color.
471
+ * @CAIRO_OPERATOR_HARD_LIGHT: Multiplies or screens, dependant on source
472
+ * color.
473
+ * @CAIRO_OPERATOR_SOFT_LIGHT: Darkens or lightens, dependant on source
474
+ * color.
475
+ * @CAIRO_OPERATOR_DIFFERENCE: Takes the difference of the source and
476
+ * destination color.
477
+ * @CAIRO_OPERATOR_EXCLUSION: Produces an effect similar to difference, but
478
+ * with lower contrast.
479
+ * @CAIRO_OPERATOR_HSL_HUE: Creates a color with the hue of the source
480
+ * and the saturation and luminosity of the target.
481
+ * @CAIRO_OPERATOR_HSL_SATURATION: Creates a color with the saturation
482
+ * of the source and the hue and luminosity of the target. Painting with
483
+ * this mode onto a gray area prduces no change.
484
+ * @CAIRO_OPERATOR_HSL_COLOR: Creates a color with the hue and saturation
485
+ * of the source and the luminosity of the target. This preserves the gray
486
+ * levels of the target and is useful for coloring monochrome images or
487
+ * tinting color images.
488
+ * @CAIRO_OPERATOR_HSL_LUMINOSITY: Creates a color with the luminosity of
489
+ * the source and the hue and saturation of the target. This produces an
490
+ * inverse effect to @CAIRO_OPERATOR_HSL_COLOR.
415
491
  *
416
492
  * #cairo_operator_t is used to set the compositing operator for all cairo
417
493
  * drawing operations.
@@ -448,7 +524,23 @@ typedef enum _cairo_operator {
448
524
 
449
525
  CAIRO_OPERATOR_XOR,
450
526
  CAIRO_OPERATOR_ADD,
451
- CAIRO_OPERATOR_SATURATE
527
+ CAIRO_OPERATOR_SATURATE,
528
+
529
+ CAIRO_OPERATOR_MULTIPLY,
530
+ CAIRO_OPERATOR_SCREEN,
531
+ CAIRO_OPERATOR_OVERLAY,
532
+ CAIRO_OPERATOR_DARKEN,
533
+ CAIRO_OPERATOR_LIGHTEN,
534
+ CAIRO_OPERATOR_COLOR_DODGE,
535
+ CAIRO_OPERATOR_COLOR_BURN,
536
+ CAIRO_OPERATOR_HARD_LIGHT,
537
+ CAIRO_OPERATOR_SOFT_LIGHT,
538
+ CAIRO_OPERATOR_DIFFERENCE,
539
+ CAIRO_OPERATOR_EXCLUSION,
540
+ CAIRO_OPERATOR_HSL_HUE,
541
+ CAIRO_OPERATOR_HSL_SATURATION,
542
+ CAIRO_OPERATOR_HSL_COLOR,
543
+ CAIRO_OPERATOR_HSL_LUMINOSITY
452
544
  } cairo_operator_t;
453
545
 
454
546
  cairo_public void
@@ -727,6 +819,9 @@ cairo_in_stroke (cairo_t *cr, double x, double y);
727
819
  cairo_public cairo_bool_t
728
820
  cairo_in_fill (cairo_t *cr, double x, double y);
729
821
 
822
+ cairo_public cairo_bool_t
823
+ cairo_in_clip (cairo_t *cr, double x, double y);
824
+
730
825
  /* Rectangular extents */
731
826
  cairo_public void
732
827
  cairo_stroke_extents (cairo_t *cr,
@@ -1445,8 +1540,7 @@ cairo_user_font_face_create (void);
1445
1540
  * point and trying to use it for text operations in the callback will result
1446
1541
  * in deadlock.
1447
1542
  *
1448
- * Returns: %CAIRO_STATUS_SUCCESS upon success, or
1449
- * %CAIRO_STATUS_USER_FONT_ERROR or any other error status on error.
1543
+ * Returns: %CAIRO_STATUS_SUCCESS upon success, or an error status on error.
1450
1544
  *
1451
1545
  * Since: 1.8
1452
1546
  **/
@@ -1547,7 +1641,8 @@ typedef cairo_status_t (*cairo_user_scaled_font_render_glyph_func_t) (cairo_scal
1547
1641
  * will free the allocated cluster array using cairo_text_cluster_free().
1548
1642
  *
1549
1643
  * The callback is optional. If @num_glyphs is negative upon
1550
- * the callback returning, the unicode_to_glyph callback
1644
+ * the callback returning or if the return value
1645
+ * is %CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED, the unicode_to_glyph callback
1551
1646
  * is tried. See #cairo_user_scaled_font_unicode_to_glyph_func_t.
1552
1647
  *
1553
1648
  * Note: While cairo does not impose any limitation on glyph indices,
@@ -1558,8 +1653,9 @@ typedef cairo_status_t (*cairo_user_scaled_font_render_glyph_func_t) (cairo_scal
1558
1653
  * are advised to use glyph 0 for such purposes and do not use that
1559
1654
  * glyph value for other purposes.
1560
1655
  *
1561
- * Returns: %CAIRO_STATUS_SUCCESS upon success, or
1562
- * %CAIRO_STATUS_USER_FONT_ERROR or any other error status on error.
1656
+ * Returns: %CAIRO_STATUS_SUCCESS upon success,
1657
+ * %CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED if fallback options should be tried,
1658
+ * or %CAIRO_STATUS_USER_FONT_ERROR or any other error status on error.
1563
1659
  *
1564
1660
  * Since: 1.8
1565
1661
  **/
@@ -1592,8 +1688,9 @@ typedef cairo_status_t (*cairo_user_scaled_font_text_to_glyphs_func_t) (cairo_sc
1592
1688
  * complex scripts can be implemented using this callback.
1593
1689
  *
1594
1690
  * The callback is optional, and only used if text_to_glyphs callback is not
1595
- * set or fails to return glyphs. If this callback is not set, an identity
1596
- * mapping from Unicode code-points to glyph indices is assumed.
1691
+ * set or fails to return glyphs. If this callback is not set or if it returns
1692
+ * %CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED, an identity mapping from Unicode
1693
+ * code-points to glyph indices is assumed.
1597
1694
  *
1598
1695
  * Note: While cairo does not impose any limitation on glyph indices,
1599
1696
  * some applications may assume that a glyph index fits in a 16-bit
@@ -1603,8 +1700,9 @@ typedef cairo_status_t (*cairo_user_scaled_font_text_to_glyphs_func_t) (cairo_sc
1603
1700
  * are advised to use glyph 0 for such purposes and do not use that
1604
1701
  * glyph value for other purposes.
1605
1702
  *
1606
- * Returns: %CAIRO_STATUS_SUCCESS upon success, or
1607
- * %CAIRO_STATUS_USER_FONT_ERROR or any other error status on error.
1703
+ * Returns: %CAIRO_STATUS_SUCCESS upon success,
1704
+ * %CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED if fallback options should be tried,
1705
+ * or %CAIRO_STATUS_USER_FONT_ERROR or any other error status on error.
1608
1706
  *
1609
1707
  * Since: 1.8
1610
1708
  **/
@@ -1836,6 +1934,83 @@ cairo_status (cairo_t *cr);
1836
1934
  cairo_public const char *
1837
1935
  cairo_status_to_string (cairo_status_t status);
1838
1936
 
1937
+ /* Backend device manipulation */
1938
+
1939
+ cairo_public cairo_device_t *
1940
+ cairo_device_reference (cairo_device_t *device);
1941
+
1942
+ /**
1943
+ * cairo_device_type_t:
1944
+ * @CAIRO_DEVICE_TYPE_DRM: The surface is of type Direct Render Manager
1945
+ * @CAIRO_DEVICE_TYPE_GL: The surface is of type OpenGL
1946
+ * @CAIRO_DEVICE_TYPE_SCRIPT: The surface is of type script
1947
+ * @CAIRO_DEVICE_TYPE_XCB: The surface is of type xcb
1948
+ * @CAIRO_DEVICE_TYPE_XLIB: The surface is of type xlib
1949
+ * @CAIRO_DEVICE_TYPE_XML: The surface is of type XML
1950
+ * cairo_surface_create_for_rectangle()
1951
+ *
1952
+ * #cairo_device_type_t is used to describe the type of a given
1953
+ * device. The devices types are also known as "backends" within cairo.
1954
+ *
1955
+ * The device type can be queried with cairo_device_get_type()
1956
+ *
1957
+ * The various #cairo_device_t functions can be used with surfaces of
1958
+ * any type, but some backends also provide type-specific functions
1959
+ * that must only be called with a device of the appropriate
1960
+ * type. These functions have names that begin with
1961
+ * cairo_<emphasis>type</emphasis>_device<!-- --> such as cairo_xcb_device_debug_set_render_version().
1962
+ *
1963
+ * The behavior of calling a type-specific function with a surface of
1964
+ * the wrong type is undefined.
1965
+ *
1966
+ * New entries may be added in future versions.
1967
+ *
1968
+ * Since: 1.10
1969
+ **/
1970
+ typedef enum _cairo_device_type {
1971
+ CAIRO_DEVICE_TYPE_DRM,
1972
+ CAIRO_DEVICE_TYPE_GL,
1973
+ CAIRO_DEVICE_TYPE_SCRIPT,
1974
+ CAIRO_DEVICE_TYPE_XCB,
1975
+ CAIRO_DEVICE_TYPE_XLIB,
1976
+ CAIRO_DEVICE_TYPE_XML,
1977
+ } cairo_device_type_t;
1978
+
1979
+ cairo_public cairo_device_type_t
1980
+ cairo_device_get_type (cairo_device_t *device);
1981
+
1982
+ cairo_public cairo_status_t
1983
+ cairo_device_status (cairo_device_t *device);
1984
+
1985
+ cairo_public cairo_status_t
1986
+ cairo_device_acquire (cairo_device_t *device);
1987
+
1988
+ cairo_public void
1989
+ cairo_device_release (cairo_device_t *device);
1990
+
1991
+ cairo_public void
1992
+ cairo_device_flush (cairo_device_t *device);
1993
+
1994
+ cairo_public void
1995
+ cairo_device_finish (cairo_device_t *device);
1996
+
1997
+ cairo_public void
1998
+ cairo_device_destroy (cairo_device_t *device);
1999
+
2000
+ cairo_public unsigned int
2001
+ cairo_device_get_reference_count (cairo_device_t *device);
2002
+
2003
+ cairo_public void *
2004
+ cairo_device_get_user_data (cairo_device_t *device,
2005
+ const cairo_user_data_key_t *key);
2006
+
2007
+ cairo_public cairo_status_t
2008
+ cairo_device_set_user_data (cairo_device_t *device,
2009
+ const cairo_user_data_key_t *key,
2010
+ void *user_data,
2011
+ cairo_destroy_func_t destroy);
2012
+
2013
+
1839
2014
  /* Surface manipulation */
1840
2015
 
1841
2016
  cairo_public cairo_surface_t *
@@ -1844,6 +2019,13 @@ cairo_surface_create_similar (cairo_surface_t *other,
1844
2019
  int width,
1845
2020
  int height);
1846
2021
 
2022
+ cairo_public cairo_surface_t *
2023
+ cairo_surface_create_for_rectangle (cairo_surface_t *target,
2024
+ double x,
2025
+ double y,
2026
+ double width,
2027
+ double height);
2028
+
1847
2029
  cairo_public cairo_surface_t *
1848
2030
  cairo_surface_reference (cairo_surface_t *surface);
1849
2031
 
@@ -1853,6 +2035,9 @@ cairo_surface_finish (cairo_surface_t *surface);
1853
2035
  cairo_public void
1854
2036
  cairo_surface_destroy (cairo_surface_t *surface);
1855
2037
 
2038
+ cairo_public cairo_device_t *
2039
+ cairo_surface_get_device (cairo_surface_t *surface);
2040
+
1856
2041
  cairo_public unsigned int
1857
2042
  cairo_surface_get_reference_count (cairo_surface_t *surface);
1858
2043
 
@@ -1875,6 +2060,17 @@ cairo_surface_status (cairo_surface_t *surface);
1875
2060
  * @CAIRO_SURFACE_TYPE_OS2: The surface is of type os2
1876
2061
  * @CAIRO_SURFACE_TYPE_WIN32_PRINTING: The surface is a win32 printing surface
1877
2062
  * @CAIRO_SURFACE_TYPE_QUARTZ_IMAGE: The surface is of type quartz_image
2063
+ * @CAIRO_SURFACE_TYPE_SCRIPT: The surface is of type script, since 1.10
2064
+ * @CAIRO_SURFACE_TYPE_QT: The surface is of type Qt, since 1.10
2065
+ * @CAIRO_SURFACE_TYPE_RECORDING: The surface is of type recording, since 1.10
2066
+ * @CAIRO_SURFACE_TYPE_VG: The surface is a OpenVG surface, since 1.10
2067
+ * @CAIRO_SURFACE_TYPE_GL: The surface is of type OpenGL, since 1.10
2068
+ * @CAIRO_SURFACE_TYPE_DRM: The surface is of type Direct Render Manager, since 1.10
2069
+ * @CAIRO_SURFACE_TYPE_TEE: The surface is of type 'tee' (a multiplexing surface), since 1.10
2070
+ * @CAIRO_SURFACE_TYPE_XML: The surface is of type XML (for debugging), since 1.10
2071
+ * @CAIRO_SURFACE_TYPE_SKIA: The surface is of type Skia, since 1.10
2072
+ * @CAIRO_SURFACE_TYPE_SUBSURFACE: The surface is a subsurface created with
2073
+ * cairo_surface_create_for_rectangle(), since 1.10
1878
2074
  *
1879
2075
  * #cairo_surface_type_t is used to describe the type of a given
1880
2076
  * surface. The surface types are also known as "backends" or "surface
@@ -1913,7 +2109,17 @@ typedef enum _cairo_surface_type {
1913
2109
  CAIRO_SURFACE_TYPE_SVG,
1914
2110
  CAIRO_SURFACE_TYPE_OS2,
1915
2111
  CAIRO_SURFACE_TYPE_WIN32_PRINTING,
1916
- CAIRO_SURFACE_TYPE_QUARTZ_IMAGE
2112
+ CAIRO_SURFACE_TYPE_QUARTZ_IMAGE,
2113
+ CAIRO_SURFACE_TYPE_SCRIPT,
2114
+ CAIRO_SURFACE_TYPE_QT,
2115
+ CAIRO_SURFACE_TYPE_RECORDING,
2116
+ CAIRO_SURFACE_TYPE_VG,
2117
+ CAIRO_SURFACE_TYPE_GL,
2118
+ CAIRO_SURFACE_TYPE_DRM,
2119
+ CAIRO_SURFACE_TYPE_TEE,
2120
+ CAIRO_SURFACE_TYPE_XML,
2121
+ CAIRO_SURFACE_TYPE_SKIA,
2122
+ CAIRO_SURFACE_TYPE_SUBSURFACE
1917
2123
  } cairo_surface_type_t;
1918
2124
 
1919
2125
  cairo_public cairo_surface_type_t
@@ -1945,6 +2151,25 @@ cairo_surface_set_user_data (cairo_surface_t *surface,
1945
2151
  void *user_data,
1946
2152
  cairo_destroy_func_t destroy);
1947
2153
 
2154
+ #define CAIRO_MIME_TYPE_JPEG "image/jpeg"
2155
+ #define CAIRO_MIME_TYPE_PNG "image/png"
2156
+ #define CAIRO_MIME_TYPE_JP2 "image/jp2"
2157
+ #define CAIRO_MIME_TYPE_URI "text/x-uri"
2158
+
2159
+ cairo_public void
2160
+ cairo_surface_get_mime_data (cairo_surface_t *surface,
2161
+ const char *mime_type,
2162
+ const unsigned char **data,
2163
+ unsigned long *length);
2164
+
2165
+ cairo_public cairo_status_t
2166
+ cairo_surface_set_mime_data (cairo_surface_t *surface,
2167
+ const char *mime_type,
2168
+ const unsigned char *data,
2169
+ unsigned long length,
2170
+ cairo_destroy_func_t destroy,
2171
+ void *closure);
2172
+
1948
2173
  cairo_public void
1949
2174
  cairo_surface_get_font_options (cairo_surface_t *surface,
1950
2175
  cairo_font_options_t *options);
@@ -1995,6 +2220,7 @@ cairo_surface_has_show_text_glyphs (cairo_surface_t *surface);
1995
2220
 
1996
2221
  /**
1997
2222
  * cairo_format_t:
2223
+ * @CAIRO_FORMAT_INVALID: no such format exists or is supported.
1998
2224
  * @CAIRO_FORMAT_ARGB32: each pixel is a 32-bit quantity, with
1999
2225
  * alpha in the upper 8 bits, then red, then green, then blue.
2000
2226
  * The 32-bit quantities are stored native-endian. Pre-multiplied
@@ -2011,9 +2237,9 @@ cairo_surface_has_show_text_glyphs (cairo_surface_t *surface);
2011
2237
  * endianess of the platform. On a big-endian machine, the
2012
2238
  * first pixel is in the uppermost bit, on a little-endian
2013
2239
  * machine the first pixel is in the least-significant bit.
2014
- * @CAIRO_FORMAT_RGB16_565: This format value is deprecated. It has
2015
- * never been properly implemented in cairo and should not be used
2016
- * by applications. (since 1.2)
2240
+ * @CAIRO_FORMAT_RGB16_565: each pixel is a 16-bit quantity
2241
+ * with red in the upper 5 bits, then green in the middle
2242
+ * 6 bits, and blue in the lower 5 bits.
2017
2243
  *
2018
2244
  * #cairo_format_t is used to identify the memory format of
2019
2245
  * image data.
@@ -2021,14 +2247,12 @@ cairo_surface_has_show_text_glyphs (cairo_surface_t *surface);
2021
2247
  * New entries may be added in future versions.
2022
2248
  **/
2023
2249
  typedef enum _cairo_format {
2024
- CAIRO_FORMAT_ARGB32,
2025
- CAIRO_FORMAT_RGB24,
2026
- CAIRO_FORMAT_A8,
2027
- CAIRO_FORMAT_A1
2028
- /* The value of 4 is reserved by a deprecated enum value.
2029
- * The next format added must have an explicit value of 5.
2030
- CAIRO_FORMAT_RGB16_565 = 4,
2031
- */
2250
+ CAIRO_FORMAT_INVALID = -1,
2251
+ CAIRO_FORMAT_ARGB32 = 0,
2252
+ CAIRO_FORMAT_RGB24 = 1,
2253
+ CAIRO_FORMAT_A8 = 2,
2254
+ CAIRO_FORMAT_A1 = 3,
2255
+ CAIRO_FORMAT_RGB16_565 = 4
2032
2256
  } cairo_format_t;
2033
2257
 
2034
2258
  cairo_public cairo_surface_t *
@@ -2073,6 +2297,19 @@ cairo_image_surface_create_from_png_stream (cairo_read_func_t read_func,
2073
2297
 
2074
2298
  #endif
2075
2299
 
2300
+ /* Recording-surface functions */
2301
+
2302
+ cairo_public cairo_surface_t *
2303
+ cairo_recording_surface_create (cairo_content_t content,
2304
+ const cairo_rectangle_t *extents);
2305
+
2306
+ cairo_public void
2307
+ cairo_recording_surface_ink_extents (cairo_surface_t *surface,
2308
+ double *x0,
2309
+ double *y0,
2310
+ double *width,
2311
+ double *height);
2312
+
2076
2313
  /* Pattern creation functions */
2077
2314
 
2078
2315
  cairo_public cairo_pattern_t *
@@ -2319,10 +2556,129 @@ cairo_public void
2319
2556
  cairo_matrix_transform_point (const cairo_matrix_t *matrix,
2320
2557
  double *x, double *y);
2321
2558
 
2559
+ /* Region functions */
2560
+
2561
+ /**
2562
+ * cairo_region_t:
2563
+ *
2564
+ * A #cairo_region_t represents a set of integer-aligned rectangles.
2565
+ *
2566
+ * It allows set-theoretical operations like cairo_region_union() and
2567
+ * cairo_region_intersect() to be performed on them.
2568
+ *
2569
+ * Memory management of #cairo_region_t is done with
2570
+ * cairo_region_reference() and cairo_region_destroy().
2571
+ *
2572
+ * Since: 1.10
2573
+ **/
2574
+ typedef struct _cairo_region cairo_region_t;
2575
+
2576
+ /**
2577
+ * cairo_rectangle_int_t:
2578
+ * @x: X coordinate of the left side of the rectangle
2579
+ * @y: Y coordinate of the the top side of the rectangle
2580
+ * @width: width of the rectangle
2581
+ * @height: height of the rectangle
2582
+ *
2583
+ * A data structure for holding a rectangle with integer coordinates.
2584
+ *
2585
+ * Since: 1.10
2586
+ **/
2587
+
2588
+ typedef struct _cairo_rectangle_int {
2589
+ int x, y;
2590
+ int width, height;
2591
+ } cairo_rectangle_int_t;
2592
+
2593
+ typedef enum _cairo_region_overlap {
2594
+ CAIRO_REGION_OVERLAP_IN, /* completely inside region */
2595
+ CAIRO_REGION_OVERLAP_OUT, /* completely outside region */
2596
+ CAIRO_REGION_OVERLAP_PART /* partly inside region */
2597
+ } cairo_region_overlap_t;
2598
+
2599
+ cairo_public cairo_region_t *
2600
+ cairo_region_create (void);
2601
+
2602
+ cairo_public cairo_region_t *
2603
+ cairo_region_create_rectangle (const cairo_rectangle_int_t *rectangle);
2604
+
2605
+ cairo_public cairo_region_t *
2606
+ cairo_region_create_rectangles (const cairo_rectangle_int_t *rects,
2607
+ int count);
2608
+
2609
+ cairo_public cairo_region_t *
2610
+ cairo_region_copy (const cairo_region_t *original);
2611
+
2612
+ cairo_public cairo_region_t *
2613
+ cairo_region_reference (cairo_region_t *region);
2614
+
2615
+ cairo_public void
2616
+ cairo_region_destroy (cairo_region_t *region);
2617
+
2618
+ cairo_public cairo_bool_t
2619
+ cairo_region_equal (const cairo_region_t *a, const cairo_region_t *b);
2620
+
2621
+ cairo_public cairo_status_t
2622
+ cairo_region_status (const cairo_region_t *region);
2623
+
2624
+ cairo_public void
2625
+ cairo_region_get_extents (const cairo_region_t *region,
2626
+ cairo_rectangle_int_t *extents);
2627
+
2628
+ cairo_public int
2629
+ cairo_region_num_rectangles (const cairo_region_t *region);
2630
+
2631
+ cairo_public void
2632
+ cairo_region_get_rectangle (const cairo_region_t *region,
2633
+ int nth,
2634
+ cairo_rectangle_int_t *rectangle);
2635
+
2636
+ cairo_public cairo_bool_t
2637
+ cairo_region_is_empty (const cairo_region_t *region);
2638
+
2639
+ cairo_public cairo_region_overlap_t
2640
+ cairo_region_contains_rectangle (const cairo_region_t *region,
2641
+ const cairo_rectangle_int_t *rectangle);
2642
+
2643
+ cairo_public cairo_bool_t
2644
+ cairo_region_contains_point (const cairo_region_t *region, int x, int y);
2645
+
2646
+ cairo_public void
2647
+ cairo_region_translate (cairo_region_t *region, int dx, int dy);
2648
+
2649
+ cairo_public cairo_status_t
2650
+ cairo_region_subtract (cairo_region_t *dst, const cairo_region_t *other);
2651
+
2652
+ cairo_public cairo_status_t
2653
+ cairo_region_subtract_rectangle (cairo_region_t *dst,
2654
+ const cairo_rectangle_int_t *rectangle);
2655
+
2656
+ cairo_public cairo_status_t
2657
+ cairo_region_intersect (cairo_region_t *dst, const cairo_region_t *other);
2658
+
2659
+ cairo_public cairo_status_t
2660
+ cairo_region_intersect_rectangle (cairo_region_t *dst,
2661
+ const cairo_rectangle_int_t *rectangle);
2662
+
2663
+ cairo_public cairo_status_t
2664
+ cairo_region_union (cairo_region_t *dst, const cairo_region_t *other);
2665
+
2666
+ cairo_public cairo_status_t
2667
+ cairo_region_union_rectangle (cairo_region_t *dst,
2668
+ const cairo_rectangle_int_t *rectangle);
2669
+
2670
+ cairo_public cairo_status_t
2671
+ cairo_region_xor (cairo_region_t *dst, const cairo_region_t *other);
2672
+
2673
+ cairo_public cairo_status_t
2674
+ cairo_region_xor_rectangle (cairo_region_t *dst,
2675
+ const cairo_rectangle_int_t *rectangle);
2676
+
2322
2677
  /* Functions to be used while debugging (not intended for use in production code) */
2323
2678
  cairo_public void
2324
2679
  cairo_debug_reset_static_data (void);
2325
2680
 
2681
+
2326
2682
  CAIRO_END_DECLS
2327
2683
 
2328
2684
  #endif /* CAIRO_H */