cairo 1.6.1-x86-mswin32

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

Potentially problematic release.


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

Files changed (418) hide show
  1. data/AUTHORS +4 -0
  2. data/COPYING +59 -0
  3. data/ChangeLog +1320 -0
  4. data/GPL +340 -0
  5. data/NEWS +98 -0
  6. data/README +70 -0
  7. data/Rakefile +215 -0
  8. data/cairo/bin/libcairo-2.dll +0 -0
  9. data/cairo/bin/libpng13.dll +0 -0
  10. data/cairo/bin/zlib1.dll +0 -0
  11. data/cairo/include/cairo/cairo-deprecated.h +142 -0
  12. data/cairo/include/cairo/cairo-features.h +35 -0
  13. data/cairo/include/cairo/cairo-pdf.h +68 -0
  14. data/cairo/include/cairo/cairo-ps.h +114 -0
  15. data/cairo/include/cairo/cairo-svg.h +82 -0
  16. data/cairo/include/cairo/cairo-win32.h +104 -0
  17. data/cairo/include/cairo/cairo.h +1945 -0
  18. data/cairo/include/libpng13/png.h +3419 -0
  19. data/cairo/include/libpng13/pngconf.h +1437 -0
  20. data/cairo/lib/cairo.def +251 -0
  21. data/cairo/lib/cairo.lib +0 -0
  22. data/cairo/lib/libcairo.dll.a +0 -0
  23. data/cairo/lib/libpng.def +372 -0
  24. data/cairo/lib/libpng13.dll.a +0 -0
  25. data/cairo/lib/pkgconfig/cairo-pdf.pc +12 -0
  26. data/cairo/lib/pkgconfig/cairo-png.pc +12 -0
  27. data/cairo/lib/pkgconfig/cairo-ps.pc +12 -0
  28. data/cairo/lib/pkgconfig/cairo-svg.pc +12 -0
  29. data/cairo/lib/pkgconfig/cairo-win32-font.pc +12 -0
  30. data/cairo/lib/pkgconfig/cairo-win32.pc +12 -0
  31. data/cairo/lib/pkgconfig/cairo.pc +13 -0
  32. data/cairo/lib/pkgconfig/libpng.pc +14 -0
  33. data/cairo/lib/pkgconfig/libpng13.pc +14 -0
  34. data/cairo/make/cairo-1.6.4-1.sh +55 -0
  35. data/cairo/manifest/cairo-1.6.4-1.mft +6 -0
  36. data/cairo/manifest/cairo-dev-1.6.4-1.mft +72 -0
  37. data/cairo/manifest/libpng-dev-1.2.8.mft +7 -0
  38. data/cairo/share/doc/cairo-1.6.4-1/COPYING +32 -0
  39. data/cairo/share/doc/cairo-1.6.4-1/COPYING-LGPL-2.1 +510 -0
  40. data/cairo/share/doc/cairo-1.6.4-1/COPYING-MPL-1.1 +470 -0
  41. data/cairo/share/gtk-doc/html/cairo/Drawing.html +53 -0
  42. data/cairo/share/gtk-doc/html/cairo/Fonts.html +56 -0
  43. data/cairo/share/gtk-doc/html/cairo/Support.html +50 -0
  44. data/cairo/share/gtk-doc/html/cairo/Surfaces.html +65 -0
  45. data/cairo/share/gtk-doc/html/cairo/bindings-errors.html +128 -0
  46. data/cairo/share/gtk-doc/html/cairo/bindings-fonts.html +59 -0
  47. data/cairo/share/gtk-doc/html/cairo/bindings-memory.html +129 -0
  48. data/cairo/share/gtk-doc/html/cairo/bindings-overloading.html +127 -0
  49. data/cairo/share/gtk-doc/html/cairo/bindings-path.html +123 -0
  50. data/cairo/share/gtk-doc/html/cairo/bindings-patterns.html +63 -0
  51. data/cairo/share/gtk-doc/html/cairo/bindings-return-values.html +126 -0
  52. data/cairo/share/gtk-doc/html/cairo/bindings-streams.html +98 -0
  53. data/cairo/share/gtk-doc/html/cairo/bindings-surfaces.html +99 -0
  54. data/cairo/share/gtk-doc/html/cairo/cairo-Error-Handling.html +328 -0
  55. data/cairo/share/gtk-doc/html/cairo/cairo-Font-Options.html +720 -0
  56. data/cairo/share/gtk-doc/html/cairo/cairo-FreeType-Fonts.html +297 -0
  57. data/cairo/share/gtk-doc/html/cairo/cairo-Image-Surfaces.html +484 -0
  58. data/cairo/share/gtk-doc/html/cairo/cairo-PDF-Surfaces.html +246 -0
  59. data/cairo/share/gtk-doc/html/cairo/cairo-PNG-Support.html +345 -0
  60. data/cairo/share/gtk-doc/html/cairo/cairo-Paths.html +1336 -0
  61. data/cairo/share/gtk-doc/html/cairo/cairo-Patterns.html +1560 -0
  62. data/cairo/share/gtk-doc/html/cairo/cairo-PostScript-Surfaces.html +656 -0
  63. data/cairo/share/gtk-doc/html/cairo/cairo-Quartz-Fonts.html +161 -0
  64. data/cairo/share/gtk-doc/html/cairo/cairo-Quartz-Surfaces.html +232 -0
  65. data/cairo/share/gtk-doc/html/cairo/cairo-SVG-Surfaces.html +337 -0
  66. data/cairo/share/gtk-doc/html/cairo/cairo-Scaled-Fonts.html +823 -0
  67. data/cairo/share/gtk-doc/html/cairo/cairo-Text.html +836 -0
  68. data/cairo/share/gtk-doc/html/cairo/cairo-Transformations.html +462 -0
  69. data/cairo/share/gtk-doc/html/cairo/cairo-Types.html +143 -0
  70. data/cairo/share/gtk-doc/html/cairo/cairo-Version-Information.html +325 -0
  71. data/cairo/share/gtk-doc/html/cairo/cairo-Win32-Fonts.html +381 -0
  72. data/cairo/share/gtk-doc/html/cairo/cairo-Win32-Surfaces.html +331 -0
  73. data/cairo/share/gtk-doc/html/cairo/cairo-XLib-Surfaces.html +525 -0
  74. data/cairo/share/gtk-doc/html/cairo/cairo-cairo-font-face-t.html +427 -0
  75. data/cairo/share/gtk-doc/html/cairo/cairo-cairo-matrix-t.html +626 -0
  76. data/cairo/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html +995 -0
  77. data/cairo/share/gtk-doc/html/cairo/cairo-cairo-t.html +2795 -0
  78. data/cairo/share/gtk-doc/html/cairo/cairo.devhelp +432 -0
  79. data/cairo/share/gtk-doc/html/cairo/cairo.devhelp2 +432 -0
  80. data/cairo/share/gtk-doc/html/cairo/home.png +0 -0
  81. data/cairo/share/gtk-doc/html/cairo/index-1.2.html +137 -0
  82. data/cairo/share/gtk-doc/html/cairo/index-1.4.html +105 -0
  83. data/cairo/share/gtk-doc/html/cairo/index-1.6.html +65 -0
  84. data/cairo/share/gtk-doc/html/cairo/index.html +134 -0
  85. data/cairo/share/gtk-doc/html/cairo/index.sgml +466 -0
  86. data/cairo/share/gtk-doc/html/cairo/ix01.html +693 -0
  87. data/cairo/share/gtk-doc/html/cairo/language-bindings.html +79 -0
  88. data/cairo/share/gtk-doc/html/cairo/left.png +0 -0
  89. data/cairo/share/gtk-doc/html/cairo/right.png +0 -0
  90. data/cairo/share/gtk-doc/html/cairo/style.css +148 -0
  91. data/cairo/share/gtk-doc/html/cairo/up.png +0 -0
  92. data/doc/doc.css +91 -0
  93. data/doc/en/cairo-antialias.html +41 -0
  94. data/doc/en/cairo-antialias.rd +16 -0
  95. data/doc/en/cairo-clip-not-representable-error.html +50 -0
  96. data/doc/en/cairo-clip-not-representable-error.rd +17 -0
  97. data/doc/en/cairo-color-base.html +72 -0
  98. data/doc/en/cairo-color-base.rd +38 -0
  99. data/doc/en/cairo-color-cmyk.html +160 -0
  100. data/doc/en/cairo-color-cmyk.rd +107 -0
  101. data/doc/en/cairo-color-hsv.html +140 -0
  102. data/doc/en/cairo-color-hsv.rd +91 -0
  103. data/doc/en/cairo-color-rgb.html +145 -0
  104. data/doc/en/cairo-color-rgb.rd +95 -0
  105. data/doc/en/cairo-color-x11.html +176 -0
  106. data/doc/en/cairo-color-x11.rd +151 -0
  107. data/doc/en/cairo-color.html +241 -0
  108. data/doc/en/cairo-color.rd +213 -0
  109. data/doc/en/cairo-content.html +40 -0
  110. data/doc/en/cairo-content.rd +15 -0
  111. data/doc/en/cairo-context-blur.html +42 -0
  112. data/doc/en/cairo-context-blur.rd +15 -0
  113. data/doc/en/cairo-context-circle.html +42 -0
  114. data/doc/en/cairo-context-circle.rd +15 -0
  115. data/doc/en/cairo-context-color.html +42 -0
  116. data/doc/en/cairo-context-color.rd +15 -0
  117. data/doc/en/cairo-context-path.html +47 -0
  118. data/doc/en/cairo-context-path.rd +19 -0
  119. data/doc/en/cairo-context-rectangle.html +42 -0
  120. data/doc/en/cairo-context-rectangle.rd +15 -0
  121. data/doc/en/cairo-context-triangle.html +42 -0
  122. data/doc/en/cairo-context-triangle.rd +15 -0
  123. data/doc/en/cairo-context.html +636 -0
  124. data/doc/en/cairo-context.rd +491 -0
  125. data/doc/en/cairo-error.html +47 -0
  126. data/doc/en/cairo-error.rd +16 -0
  127. data/doc/en/cairo-extend.html +41 -0
  128. data/doc/en/cairo-extend.rd +16 -0
  129. data/doc/en/cairo-file-not-found.html +50 -0
  130. data/doc/en/cairo-file-not-found.rd +17 -0
  131. data/doc/en/cairo-fill-rule.html +39 -0
  132. data/doc/en/cairo-fill-rule.rd +14 -0
  133. data/doc/en/cairo-filter.html +43 -0
  134. data/doc/en/cairo-filter.rd +18 -0
  135. data/doc/en/cairo-font-extents.html +74 -0
  136. data/doc/en/cairo-font-extents.rd +40 -0
  137. data/doc/en/cairo-font-face.html +41 -0
  138. data/doc/en/cairo-font-face.rd +14 -0
  139. data/doc/en/cairo-font-options.html +142 -0
  140. data/doc/en/cairo-font-options.rd +94 -0
  141. data/doc/en/cairo-font-slant.html +40 -0
  142. data/doc/en/cairo-font-slant.rd +15 -0
  143. data/doc/en/cairo-font-weight.html +39 -0
  144. data/doc/en/cairo-font-weight.rd +14 -0
  145. data/doc/en/cairo-format.html +49 -0
  146. data/doc/en/cairo-format.rd +22 -0
  147. data/doc/en/cairo-glyph.html +102 -0
  148. data/doc/en/cairo-glyph.rd +62 -0
  149. data/doc/en/cairo-gradient-pattern.html +77 -0
  150. data/doc/en/cairo-gradient-pattern.rd +41 -0
  151. data/doc/en/cairo-hint-metrics.html +40 -0
  152. data/doc/en/cairo-hint-metrics.rd +15 -0
  153. data/doc/en/cairo-hint-style.html +42 -0
  154. data/doc/en/cairo-hint-style.rd +17 -0
  155. data/doc/en/cairo-image-surface.html +85 -0
  156. data/doc/en/cairo-image-surface.rd +47 -0
  157. data/doc/en/cairo-invalid-content-error.html +50 -0
  158. data/doc/en/cairo-invalid-content-error.rd +17 -0
  159. data/doc/en/cairo-invalid-dash-error.html +50 -0
  160. data/doc/en/cairo-invalid-dash-error.rd +17 -0
  161. data/doc/en/cairo-invalid-dsc-comment-error.html +50 -0
  162. data/doc/en/cairo-invalid-dsc-comment-error.rd +17 -0
  163. data/doc/en/cairo-invalid-format-error.html +50 -0
  164. data/doc/en/cairo-invalid-format-error.rd +17 -0
  165. data/doc/en/cairo-invalid-index-error.html +50 -0
  166. data/doc/en/cairo-invalid-index-error.rd +17 -0
  167. data/doc/en/cairo-invalid-matrix-error.html +50 -0
  168. data/doc/en/cairo-invalid-matrix-error.rd +17 -0
  169. data/doc/en/cairo-invalid-path-data-error.html +50 -0
  170. data/doc/en/cairo-invalid-path-data-error.rd +17 -0
  171. data/doc/en/cairo-invalid-pop-group-error.html +50 -0
  172. data/doc/en/cairo-invalid-pop-group-error.rd +17 -0
  173. data/doc/en/cairo-invalid-restore-error.html +50 -0
  174. data/doc/en/cairo-invalid-restore-error.rd +17 -0
  175. data/doc/en/cairo-invalid-status-error.html +50 -0
  176. data/doc/en/cairo-invalid-status-error.rd +17 -0
  177. data/doc/en/cairo-invalid-stride-error.html +50 -0
  178. data/doc/en/cairo-invalid-stride-error.rd +17 -0
  179. data/doc/en/cairo-invalid-string-error.html +50 -0
  180. data/doc/en/cairo-invalid-string-error.rd +17 -0
  181. data/doc/en/cairo-invalid-visual-error.html +50 -0
  182. data/doc/en/cairo-invalid-visual-error.rd +17 -0
  183. data/doc/en/cairo-line-cap.html +40 -0
  184. data/doc/en/cairo-line-cap.rd +15 -0
  185. data/doc/en/cairo-line-join.html +40 -0
  186. data/doc/en/cairo-line-join.rd +15 -0
  187. data/doc/en/cairo-linear-pattern.html +63 -0
  188. data/doc/en/cairo-linear-pattern.rd +28 -0
  189. data/doc/en/cairo-matrix.html +257 -0
  190. data/doc/en/cairo-matrix.rd +186 -0
  191. data/doc/en/cairo-no-current-point-error.html +50 -0
  192. data/doc/en/cairo-no-current-point-error.rd +17 -0
  193. data/doc/en/cairo-null-pointer-error.html +50 -0
  194. data/doc/en/cairo-null-pointer-error.rd +17 -0
  195. data/doc/en/cairo-operator.html +51 -0
  196. data/doc/en/cairo-operator.rd +26 -0
  197. data/doc/en/cairo-paper-parse-error.html +50 -0
  198. data/doc/en/cairo-paper-parse-error.rd +17 -0
  199. data/doc/en/cairo-paper-unknown-paper-name.html +69 -0
  200. data/doc/en/cairo-paper-unknown-paper-name.rd +30 -0
  201. data/doc/en/cairo-paper-unknown-unit.html +69 -0
  202. data/doc/en/cairo-paper-unknown-unit.rd +30 -0
  203. data/doc/en/cairo-paper-unrecognized-paper-description.html +69 -0
  204. data/doc/en/cairo-paper-unrecognized-paper-description.rd +30 -0
  205. data/doc/en/cairo-paper.html +187 -0
  206. data/doc/en/cairo-paper.rd +141 -0
  207. data/doc/en/cairo-path-close-path.html +52 -0
  208. data/doc/en/cairo-path-close-path.rd +21 -0
  209. data/doc/en/cairo-path-curve-to.html +52 -0
  210. data/doc/en/cairo-path-curve-to.rd +21 -0
  211. data/doc/en/cairo-path-data-type.html +41 -0
  212. data/doc/en/cairo-path-data-type.rd +16 -0
  213. data/doc/en/cairo-path-data.html +101 -0
  214. data/doc/en/cairo-path-data.rd +62 -0
  215. data/doc/en/cairo-path-line-to.html +52 -0
  216. data/doc/en/cairo-path-line-to.rd +21 -0
  217. data/doc/en/cairo-path-move-to.html +52 -0
  218. data/doc/en/cairo-path-move-to.rd +21 -0
  219. data/doc/en/cairo-path.html +158 -0
  220. data/doc/en/cairo-path.rd +109 -0
  221. data/doc/en/cairo-pattern-type-mismatch-error.html +50 -0
  222. data/doc/en/cairo-pattern-type-mismatch-error.rd +17 -0
  223. data/doc/en/cairo-pattern.html +102 -0
  224. data/doc/en/cairo-pattern.rd +62 -0
  225. data/doc/en/cairo-pdf-surface.html +60 -0
  226. data/doc/en/cairo-pdf-surface.rd +27 -0
  227. data/doc/en/cairo-point.html +77 -0
  228. data/doc/en/cairo-point.rd +42 -0
  229. data/doc/en/cairo-ps-level.html +52 -0
  230. data/doc/en/cairo-ps-level.rd +24 -0
  231. data/doc/en/cairo-ps-surface.html +95 -0
  232. data/doc/en/cairo-ps-surface.rd +55 -0
  233. data/doc/en/cairo-quartz-image-surface.html +60 -0
  234. data/doc/en/cairo-quartz-image-surface.rd +27 -0
  235. data/doc/en/cairo-quartz-surface.html +60 -0
  236. data/doc/en/cairo-quartz-surface.rd +27 -0
  237. data/doc/en/cairo-radial-pattern.html +63 -0
  238. data/doc/en/cairo-radial-pattern.rd +28 -0
  239. data/doc/en/cairo-read-error.html +50 -0
  240. data/doc/en/cairo-read-error.rd +17 -0
  241. data/doc/en/cairo-rectangle.html +92 -0
  242. data/doc/en/cairo-rectangle.rd +54 -0
  243. data/doc/en/cairo-scaled-font.html +87 -0
  244. data/doc/en/cairo-scaled-font.rd +50 -0
  245. data/doc/en/cairo-solid-pattern.html +65 -0
  246. data/doc/en/cairo-solid-pattern.rd +31 -0
  247. data/doc/en/cairo-subpixel-order.html +42 -0
  248. data/doc/en/cairo-subpixel-order.rd +17 -0
  249. data/doc/en/cairo-surface-finished-error.html +50 -0
  250. data/doc/en/cairo-surface-finished-error.rd +17 -0
  251. data/doc/en/cairo-surface-pattern.html +60 -0
  252. data/doc/en/cairo-surface-pattern.rd +27 -0
  253. data/doc/en/cairo-surface-type-mismatch-error.html +50 -0
  254. data/doc/en/cairo-surface-type-mismatch-error.rd +17 -0
  255. data/doc/en/cairo-surface.html +114 -0
  256. data/doc/en/cairo-surface.rd +72 -0
  257. data/doc/en/cairo-svg-surface.html +80 -0
  258. data/doc/en/cairo-svg-surface.rd +44 -0
  259. data/doc/en/cairo-svg-version.html +52 -0
  260. data/doc/en/cairo-svg-version.rd +24 -0
  261. data/doc/en/cairo-temp-file-error.html +50 -0
  262. data/doc/en/cairo-temp-file-error.rd +17 -0
  263. data/doc/en/cairo-text-extents.html +79 -0
  264. data/doc/en/cairo-text-extents.rd +44 -0
  265. data/doc/en/cairo-win32-printing-surface.html +60 -0
  266. data/doc/en/cairo-win32-printing-surface.rd +27 -0
  267. data/doc/en/cairo-win32-surface.html +65 -0
  268. data/doc/en/cairo-win32-surface.rd +31 -0
  269. data/doc/en/cairo-write-error.html +50 -0
  270. data/doc/en/cairo-write-error.rd +17 -0
  271. data/doc/en/cairo.html +123 -0
  272. data/doc/en/cairo.rd +95 -0
  273. data/doc/en/index.html +1080 -0
  274. data/doc/en/index.rd +1051 -0
  275. data/doc/index.html +18 -0
  276. data/doc/ja/cairo-antialias.html +57 -0
  277. data/doc/ja/cairo-clip-not-representable-error.html +56 -0
  278. data/doc/ja/cairo-color-base.html +75 -0
  279. data/doc/ja/cairo-color-cmyk.html +152 -0
  280. data/doc/ja/cairo-color-hsv.html +135 -0
  281. data/doc/ja/cairo-color-rgb.html +145 -0
  282. data/doc/ja/cairo-color-x11.html +183 -0
  283. data/doc/ja/cairo-color.html +317 -0
  284. data/doc/ja/cairo-content.html +51 -0
  285. data/doc/ja/cairo-context-blur.html +53 -0
  286. data/doc/ja/cairo-context-circle.html +54 -0
  287. data/doc/ja/cairo-context-color.html +52 -0
  288. data/doc/ja/cairo-context-path.html +77 -0
  289. data/doc/ja/cairo-context-rectangle.html +60 -0
  290. data/doc/ja/cairo-context-triangle.html +47 -0
  291. data/doc/ja/cairo-context.html +1449 -0
  292. data/doc/ja/cairo-error.html +56 -0
  293. data/doc/ja/cairo-extend.html +56 -0
  294. data/doc/ja/cairo-file-not-found.html +51 -0
  295. data/doc/ja/cairo-fill-rule.html +58 -0
  296. data/doc/ja/cairo-filter.html +43 -0
  297. data/doc/ja/cairo-font-extents.html +110 -0
  298. data/doc/ja/cairo-font-face.html +55 -0
  299. data/doc/ja/cairo-font-options.html +186 -0
  300. data/doc/ja/cairo-font-slant.html +50 -0
  301. data/doc/ja/cairo-font-weight.html +47 -0
  302. data/doc/ja/cairo-format.html +81 -0
  303. data/doc/ja/cairo-glyph.html +115 -0
  304. data/doc/ja/cairo-gradient-pattern.html +119 -0
  305. data/doc/ja/cairo-hint-metrics.html +57 -0
  306. data/doc/ja/cairo-hint-style.html +64 -0
  307. data/doc/ja/cairo-image-surface.html +131 -0
  308. data/doc/ja/cairo-invalid-content-error.html +54 -0
  309. data/doc/ja/cairo-invalid-dash-error.html +54 -0
  310. data/doc/ja/cairo-invalid-dsc-comment-error.html +54 -0
  311. data/doc/ja/cairo-invalid-format-error.html +54 -0
  312. data/doc/ja/cairo-invalid-index-error.html +54 -0
  313. data/doc/ja/cairo-invalid-matrix-error.html +54 -0
  314. data/doc/ja/cairo-invalid-path-data-error.html +54 -0
  315. data/doc/ja/cairo-invalid-pop-group-error.html +54 -0
  316. data/doc/ja/cairo-invalid-restore-error.html +55 -0
  317. data/doc/ja/cairo-invalid-status-error.html +55 -0
  318. data/doc/ja/cairo-invalid-stride-error.html +55 -0
  319. data/doc/ja/cairo-invalid-string-error.html +54 -0
  320. data/doc/ja/cairo-invalid-visual-error.html +57 -0
  321. data/doc/ja/cairo-line-cap.html +50 -0
  322. data/doc/ja/cairo-line-join.html +53 -0
  323. data/doc/ja/cairo-linear-pattern.html +87 -0
  324. data/doc/ja/cairo-matrix.html +343 -0
  325. data/doc/ja/cairo-no-current-point-error.html +54 -0
  326. data/doc/ja/cairo-null-pointer-error.html +54 -0
  327. data/doc/ja/cairo-operator.html +51 -0
  328. data/doc/ja/cairo-paper-parse-error.html +55 -0
  329. data/doc/ja/cairo-paper-unknown-paper-name.html +76 -0
  330. data/doc/ja/cairo-paper-unknown-unit.html +75 -0
  331. data/doc/ja/cairo-paper-unrecognized-paper-description.html +76 -0
  332. data/doc/ja/cairo-paper.html +357 -0
  333. data/doc/ja/cairo-path-close-path.html +57 -0
  334. data/doc/ja/cairo-path-curve-to.html +70 -0
  335. data/doc/ja/cairo-path-data-type.html +53 -0
  336. data/doc/ja/cairo-path-data.html +127 -0
  337. data/doc/ja/cairo-path-line-to.html +62 -0
  338. data/doc/ja/cairo-path-move-to.html +62 -0
  339. data/doc/ja/cairo-path.html +144 -0
  340. data/doc/ja/cairo-pattern-type-mismatch-error.html +56 -0
  341. data/doc/ja/cairo-pattern.html +128 -0
  342. data/doc/ja/cairo-pdf-surface.html +86 -0
  343. data/doc/ja/cairo-point.html +90 -0
  344. data/doc/ja/cairo-ps-level.html +62 -0
  345. data/doc/ja/cairo-ps-surface.html +214 -0
  346. data/doc/ja/cairo-quartz-image-surface.html +75 -0
  347. data/doc/ja/cairo-quartz-surface.html +93 -0
  348. data/doc/ja/cairo-radial-pattern.html +93 -0
  349. data/doc/ja/cairo-read-error.html +55 -0
  350. data/doc/ja/cairo-rectangle.html +109 -0
  351. data/doc/ja/cairo-scaled-font.html +144 -0
  352. data/doc/ja/cairo-solid-pattern.html +87 -0
  353. data/doc/ja/cairo-subpixel-order.html +57 -0
  354. data/doc/ja/cairo-surface-finished-error.html +54 -0
  355. data/doc/ja/cairo-surface-pattern.html +68 -0
  356. data/doc/ja/cairo-surface-type-mismatch-error.html +56 -0
  357. data/doc/ja/cairo-surface.html +191 -0
  358. data/doc/ja/cairo-svg-surface.html +114 -0
  359. data/doc/ja/cairo-svg-version.html +66 -0
  360. data/doc/ja/cairo-temp-file-error.html +50 -0
  361. data/doc/ja/cairo-text-extents.html +101 -0
  362. data/doc/ja/cairo-win32-printing-surface.html +80 -0
  363. data/doc/ja/cairo-win32-surface.html +100 -0
  364. data/doc/ja/cairo-write-error.html +55 -0
  365. data/doc/ja/cairo.html +148 -0
  366. data/doc/ja/index.html +1080 -0
  367. data/extconf.rb +153 -0
  368. data/misc/update-colors.rb +143 -0
  369. data/pkg-config.rb +278 -0
  370. data/samples/agg/README +4 -0
  371. data/samples/agg/aa_demo.rb +47 -0
  372. data/samples/agg/aa_test.rb +304 -0
  373. data/samples/blur.rb +47 -0
  374. data/samples/pac.rb +99 -0
  375. data/samples/pac2.rb +171 -0
  376. data/samples/png.rb +45 -0
  377. data/samples/scalable.rb +56 -0
  378. data/samples/text-on-path.rb +60 -0
  379. data/samples/text2.rb +131 -0
  380. data/src/cairo.def +96 -0
  381. data/src/cairo.so +0 -0
  382. data/src/lib/cairo.rb +141 -0
  383. data/src/lib/cairo/color.rb +255 -0
  384. data/src/lib/cairo/colors.rb +656 -0
  385. data/src/lib/cairo/constants.rb +21 -0
  386. data/src/lib/cairo/context.rb +29 -0
  387. data/src/lib/cairo/context/blur.rb +45 -0
  388. data/src/lib/cairo/context/circle.rb +9 -0
  389. data/src/lib/cairo/context/color.rb +11 -0
  390. data/src/lib/cairo/context/path.rb +116 -0
  391. data/src/lib/cairo/context/rectangle.rb +33 -0
  392. data/src/lib/cairo/context/triangle.rb +12 -0
  393. data/src/lib/cairo/paper.rb +183 -0
  394. data/src/lib/cairo/papers.rb +41 -0
  395. data/src/lib/cairo/path.rb +15 -0
  396. data/src/lib/cairo/point.rb +7 -0
  397. data/src/libruby-cairo.a +0 -0
  398. data/src/rb_cairo.c +82 -0
  399. data/src/rb_cairo.h +264 -0
  400. data/src/rb_cairo_constants.c +456 -0
  401. data/src/rb_cairo_context.c +1548 -0
  402. data/src/rb_cairo_exception.c +214 -0
  403. data/src/rb_cairo_font_extents.c +125 -0
  404. data/src/rb_cairo_font_face.c +56 -0
  405. data/src/rb_cairo_font_options.c +197 -0
  406. data/src/rb_cairo_glyph.c +159 -0
  407. data/src/rb_cairo_matrix.c +350 -0
  408. data/src/rb_cairo_path.c +459 -0
  409. data/src/rb_cairo_pattern.c +540 -0
  410. data/src/rb_cairo_private.c +78 -0
  411. data/src/rb_cairo_private.h +72 -0
  412. data/src/rb_cairo_scaled_font.c +177 -0
  413. data/src/rb_cairo_surface.c +1252 -0
  414. data/src/rb_cairo_text_extents.c +138 -0
  415. data/test/run-test.rb +15 -0
  416. data/test/test_paper.rb +81 -0
  417. data/test/test_pkg_config.rb +122 -0
  418. metadata +490 -0
@@ -0,0 +1,995 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
5
+ <title>cairo_surface_t</title>
6
+ <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
7
+ <link rel="start" href="index.html" title="Cairo: A Vector Graphics Library">
8
+ <link rel="up" href="Surfaces.html" title="Surfaces">
9
+ <link rel="prev" href="Surfaces.html" title="Surfaces">
10
+ <link rel="next" href="cairo-Image-Surfaces.html" title="Image Surfaces">
11
+ <meta name="generator" content="GTK-Doc V1.9 (XML mode)">
12
+ <link rel="stylesheet" href="style.css" type="text/css">
13
+ <link rel="chapter" href="Drawing.html" title="Drawing">
14
+ <link rel="chapter" href="Fonts.html" title="Fonts">
15
+ <link rel="chapter" href="Surfaces.html" title="Surfaces">
16
+ <link rel="chapter" href="Support.html" title="Utilities">
17
+ <link rel="index" href="ix01.html" title="Index">
18
+ <link rel="index" href="index-1.2.html" title="Index of new symbols in 1.2">
19
+ <link rel="index" href="index-1.4.html" title="Index of new symbols in 1.4">
20
+ <link rel="index" href="index-1.6.html" title="Index of new symbols in 1.6">
21
+ <link rel="appendix" href="language-bindings.html" title="Appendix&#160;A.&#160;Creating a language binding for cairo">
22
+ </head>
23
+ <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
24
+ <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
25
+ <tr valign="middle">
26
+ <td><a accesskey="p" href="Surfaces.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
27
+ <td><a accesskey="u" href="Surfaces.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
28
+ <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
29
+ <th width="100%" align="center">Cairo: A Vector Graphics Library</th>
30
+ <td><a accesskey="n" href="cairo-Image-Surfaces.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
31
+ </tr>
32
+ <tr><td colspan="5" class="shortcuts"><nobr><a href="#id2527063" class="shortcut">Top</a>
33
+ &#160;|&#160;
34
+ <a href="#id2650015" class="shortcut">Description</a></nobr></td></tr>
35
+ </table>
36
+ <div class="refentry" lang="en">
37
+ <a name="cairo-cairo-surface-t"></a><div class="titlepage"></div>
38
+ <div class="refnamediv"><table width="100%"><tr>
39
+ <td valign="top">
40
+ <h2>
41
+ <a name="id2527063"></a><span class="refentrytitle">cairo_surface_t</span>
42
+ </h2>
43
+ <p>cairo_surface_t &#8212; Base class for surfaces</p>
44
+ </td>
45
+ <td valign="top" align="right"></td>
46
+ </tr></table></div>
47
+ <div class="refsynopsisdiv">
48
+ <h2>Synopsis</h2>
49
+ <pre class="synopsis">
50
+
51
+
52
+
53
+ typedef <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>;
54
+ enum <a class="link" href="cairo-cairo-surface-t.html#cairo-content-t">cairo_content_t</a>;
55
+ <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-create-similar">cairo_surface_create_similar</a> (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *other,
56
+ <a class="link" href="cairo-cairo-surface-t.html#cairo-content-t">cairo_content_t</a> content,
57
+ int width,
58
+ int height);
59
+ <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-reference">cairo_surface_reference</a> (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);
60
+ void <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy">cairo_surface_destroy</a> (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);
61
+ <a class="link" href="cairo-Error-Handling.html#cairo-status-t">cairo_status_t</a> <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-status">cairo_surface_status</a> (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);
62
+ void <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-finish">cairo_surface_finish</a> (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);
63
+ void <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-flush">cairo_surface_flush</a> (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);
64
+ void <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-font-options">cairo_surface_get_font_options</a> (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface,
65
+ <a class="link" href="cairo-Font-Options.html#cairo-font-options-t">cairo_font_options_t</a> *options);
66
+ <a class="link" href="cairo-cairo-surface-t.html#cairo-content-t">cairo_content_t</a> <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-content">cairo_surface_get_content</a> (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);
67
+ void <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-mark-dirty">cairo_surface_mark_dirty</a> (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);
68
+ void <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-mark-dirty-rectangle">cairo_surface_mark_dirty_rectangle</a> (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface,
69
+ int x,
70
+ int y,
71
+ int width,
72
+ int height);
73
+ void <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-device-offset">cairo_surface_set_device_offset</a> (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface,
74
+ double x_offset,
75
+ double y_offset);
76
+ void <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-device-offset">cairo_surface_get_device_offset</a> (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface,
77
+ double *x_offset,
78
+ double *y_offset);
79
+ void <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-fallback-resolution">cairo_surface_set_fallback_resolution</a>
80
+ (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface,
81
+ double x_pixels_per_inch,
82
+ double y_pixels_per_inch);
83
+ enum <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-type-t">cairo_surface_type_t</a>;
84
+ <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-type-t">cairo_surface_type_t</a> <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-type">cairo_surface_get_type</a> (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);
85
+ unsigned int <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-reference-count">cairo_surface_get_reference_count</a> (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);
86
+ <a class="link" href="cairo-Error-Handling.html#cairo-status-t">cairo_status_t</a> <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-user-data">cairo_surface_set_user_data</a> (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface,
87
+ const <a class="link" href="cairo-Types.html#cairo-user-data-key-t">cairo_user_data_key_t</a> *key,
88
+ void *user_data,
89
+ <a class="link" href="cairo-Types.html#cairo-destroy-func-t">cairo_destroy_func_t</a> destroy);
90
+ void* <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-user-data">cairo_surface_get_user_data</a> (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface,
91
+ const <a class="link" href="cairo-Types.html#cairo-user-data-key-t">cairo_user_data_key_t</a> *key);
92
+ void <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-copy-page">cairo_surface_copy_page</a> (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);
93
+ void <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-show-page">cairo_surface_show_page</a> (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);
94
+ </pre>
95
+ </div>
96
+ <div class="refsect1" lang="en">
97
+ <a name="id2650015"></a><h2>Description</h2>
98
+ <p>
99
+ <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a> is the abstract type representing all different drawing
100
+ targets that cairo can render to. The actual drawings are
101
+ performed using a cairo <em class="firstterm">context</em>.
102
+ </p>
103
+ <p>
104
+ A cairo surface is created by using <em class="firstterm">backend</em>-specific
105
+ constructors, typically of the form
106
+ cairo_<span class="emphasis"><em>backend</em></span><code class="function">_surface_create()</code>.
107
+ </p>
108
+ </div>
109
+ <div class="refsect1" lang="en">
110
+ <a name="id2650064"></a><h2>Details</h2>
111
+ <div class="refsect2" lang="en">
112
+ <a name="id2650075"></a><h3>
113
+ <a name="cairo-surface-t"></a>cairo_surface_t</h3>
114
+ <a class="indexterm" name="id2656052"></a><pre class="programlisting">typedef struct _cairo_surface cairo_surface_t;
115
+ </pre>
116
+ <p>
117
+ A <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a> represents an image, either as the destination
118
+ of a drawing operation or as source when drawing onto another
119
+ surface. To draw to a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a>, create a cairo context
120
+ with the surface as the target, using <a class="link" href="cairo-cairo-t.html#cairo-create"><code class="function">cairo_create()</code></a>.
121
+ </p>
122
+ <p>
123
+ There are different subtypes of <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a> for
124
+ different drawing backends; for example, <a class="link" href="cairo-Image-Surfaces.html#cairo-image-surface-create"><code class="function">cairo_image_surface_create()</code></a>
125
+ creates a bitmap image in memory.
126
+ The type of a surface can be queried with <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-type"><code class="function">cairo_surface_get_type()</code></a>.
127
+ </p>
128
+ <p>
129
+ Memory management of <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a> is done with
130
+ <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-reference"><code class="function">cairo_surface_reference()</code></a> and <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy"><code class="function">cairo_surface_destroy()</code></a>.</p>
131
+ <p>
132
+
133
+ </p>
134
+ </div>
135
+ <hr>
136
+ <div class="refsect2" lang="en">
137
+ <a name="id2656157"></a><h3>
138
+ <a name="cairo-content-t"></a>enum cairo_content_t</h3>
139
+ <a class="indexterm" name="id2656170"></a><pre class="programlisting">typedef enum _cairo_content {
140
+ CAIRO_CONTENT_COLOR = 0x1000,
141
+ CAIRO_CONTENT_ALPHA = 0x2000,
142
+ CAIRO_CONTENT_COLOR_ALPHA = 0x3000
143
+ } cairo_content_t;
144
+ </pre>
145
+ <p>
146
+ <a class="link" href="cairo-cairo-surface-t.html#cairo-content-t"><span class="type">cairo_content_t</span></a> is used to describe the content that a surface will
147
+ contain, whether color information, alpha information (translucence
148
+ vs. opacity), or both.
149
+ </p>
150
+ <p>
151
+ Note: The large values here are designed to keep <a class="link" href="cairo-cairo-surface-t.html#cairo-content-t"><span class="type">cairo_content_t</span></a>
152
+ values distinct from <a class="link" href="cairo-Image-Surfaces.html#cairo-format-t"><span class="type">cairo_format_t</span></a> values so that the
153
+ implementation can detect the error if users confuse the two types.</p>
154
+ <p>
155
+
156
+ </p>
157
+ <div class="variablelist"><table border="0">
158
+ <col align="left" valign="top">
159
+ <tbody>
160
+ <tr>
161
+ <td><p><span class="term"><a name="CAIRO-CONTENT-COLOR:CAPS"></a><code class="literal">CAIRO_CONTENT_COLOR</code></span></p></td>
162
+ <td> The surface will hold color content only.
163
+ </td>
164
+ </tr>
165
+ <tr>
166
+ <td><p><span class="term"><a name="CAIRO-CONTENT-ALPHA:CAPS"></a><code class="literal">CAIRO_CONTENT_ALPHA</code></span></p></td>
167
+ <td> The surface will hold alpha content only.
168
+ </td>
169
+ </tr>
170
+ <tr>
171
+ <td><p><span class="term"><a name="CAIRO-CONTENT-COLOR-ALPHA:CAPS"></a><code class="literal">CAIRO_CONTENT_COLOR_ALPHA</code></span></p></td>
172
+ <td> The surface will hold color and alpha content.
173
+ </td>
174
+ </tr>
175
+ </tbody>
176
+ </table></div>
177
+ </div>
178
+ <hr>
179
+ <div class="refsect2" lang="en">
180
+ <a name="id2656289"></a><h3>
181
+ <a name="cairo-surface-create-similar"></a>cairo_surface_create_similar ()</h3>
182
+ <a class="indexterm" name="id2656300"></a><pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* cairo_surface_create_similar (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *other,
183
+ <a class="link" href="cairo-cairo-surface-t.html#cairo-content-t">cairo_content_t</a> content,
184
+ int width,
185
+ int height);</pre>
186
+ <p>
187
+ Create a new surface that is as compatible as possible with an
188
+ existing surface. For example the new surface will have the same
189
+ fallback resolution and font options as <em class="parameter"><code>other</code></em>. Generally, the new
190
+ surface will also use the same backend as <em class="parameter"><code>other</code></em>, unless that is
191
+ not possible for some reason. The type of the returned surface may
192
+ be examined with <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-type"><code class="function">cairo_surface_get_type()</code></a>.
193
+ </p>
194
+ <p>
195
+ Initially the surface contents are all 0 (transparent if contents
196
+ have transparency, black otherwise.)</p>
197
+ <p>
198
+
199
+ </p>
200
+ <div class="variablelist"><table border="0">
201
+ <col align="left" valign="top">
202
+ <tbody>
203
+ <tr>
204
+ <td><p><span class="term"><em class="parameter"><code>other</code></em>&#160;:</span></p></td>
205
+ <td> an existing surface used to select the backend of the new surface
206
+ </td>
207
+ </tr>
208
+ <tr>
209
+ <td><p><span class="term"><em class="parameter"><code>content</code></em>&#160;:</span></p></td>
210
+ <td> the content for the new surface
211
+ </td>
212
+ </tr>
213
+ <tr>
214
+ <td><p><span class="term"><em class="parameter"><code>width</code></em>&#160;:</span></p></td>
215
+ <td> width of the new surface, (in device-space units)
216
+ </td>
217
+ </tr>
218
+ <tr>
219
+ <td><p><span class="term"><em class="parameter"><code>height</code></em>&#160;:</span></p></td>
220
+ <td> height of the new surface (in device-space units)
221
+ </td>
222
+ </tr>
223
+ <tr>
224
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
225
+ <td> a pointer to the newly allocated surface. The caller
226
+ owns the surface and should call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy"><code class="function">cairo_surface_destroy()</code></a> when done
227
+ with it.
228
+
229
+ This function always returns a valid pointer, but it will return a
230
+ pointer to a "nil" surface if <em class="parameter"><code>other</code></em> is already in an error state
231
+ or any other error occurs.
232
+ </td>
233
+ </tr>
234
+ </tbody>
235
+ </table></div>
236
+ </div>
237
+ <hr>
238
+ <div class="refsect2" lang="en">
239
+ <a name="id2661829"></a><h3>
240
+ <a name="cairo-surface-reference"></a>cairo_surface_reference ()</h3>
241
+ <a class="indexterm" name="id2661839"></a><pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* cairo_surface_reference (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);</pre>
242
+ <p>
243
+ Increases the reference count on <em class="parameter"><code>surface</code></em> by one. This prevents
244
+ <em class="parameter"><code>surface</code></em> from being destroyed until a matching call to
245
+ <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy"><code class="function">cairo_surface_destroy()</code></a> is made.
246
+ </p>
247
+ <p>
248
+ The number of references to a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a> can be get using
249
+ <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-reference-count"><code class="function">cairo_surface_get_reference_count()</code></a>.</p>
250
+ <p>
251
+
252
+ </p>
253
+ <div class="variablelist"><table border="0">
254
+ <col align="left" valign="top">
255
+ <tbody>
256
+ <tr>
257
+ <td><p><span class="term"><em class="parameter"><code>surface</code></em>&#160;:</span></p></td>
258
+ <td> a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a>
259
+ </td>
260
+ </tr>
261
+ <tr>
262
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
263
+ <td> the referenced <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a>.
264
+ </td>
265
+ </tr>
266
+ </tbody>
267
+ </table></div>
268
+ </div>
269
+ <hr>
270
+ <div class="refsect2" lang="en">
271
+ <a name="id2661953"></a><h3>
272
+ <a name="cairo-surface-destroy"></a>cairo_surface_destroy ()</h3>
273
+ <a class="indexterm" name="id2661964"></a><pre class="programlisting">void cairo_surface_destroy (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);</pre>
274
+ <p>
275
+ Decreases the reference count on <em class="parameter"><code>surface</code></em> by one. If the result is
276
+ zero, then <em class="parameter"><code>surface</code></em> and all associated resources are freed. See
277
+ <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-reference"><code class="function">cairo_surface_reference()</code></a>.</p>
278
+ <p>
279
+
280
+ </p>
281
+ <div class="variablelist"><table border="0">
282
+ <col align="left" valign="top">
283
+ <tbody><tr>
284
+ <td><p><span class="term"><em class="parameter"><code>surface</code></em>&#160;:</span></p></td>
285
+ <td> a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a>
286
+ </td>
287
+ </tr></tbody>
288
+ </table></div>
289
+ </div>
290
+ <hr>
291
+ <div class="refsect2" lang="en">
292
+ <a name="id2662043"></a><h3>
293
+ <a name="cairo-surface-status"></a>cairo_surface_status ()</h3>
294
+ <a class="indexterm" name="id2662054"></a><pre class="programlisting"><a class="link" href="cairo-Error-Handling.html#cairo-status-t">cairo_status_t</a> cairo_surface_status (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);</pre>
295
+ <p>
296
+ Checks whether an error has previously occurred for this
297
+ surface.</p>
298
+ <p>
299
+
300
+ </p>
301
+ <div class="variablelist"><table border="0">
302
+ <col align="left" valign="top">
303
+ <tbody>
304
+ <tr>
305
+ <td><p><span class="term"><em class="parameter"><code>surface</code></em>&#160;:</span></p></td>
306
+ <td> a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a>
307
+ </td>
308
+ </tr>
309
+ <tr>
310
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
311
+ <td> <a class="link" href="cairo-Error-Handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a>, <a class="link" href="cairo-Error-Handling.html#CAIRO-STATUS-NULL-POINTER:CAPS"><code class="literal">CAIRO_STATUS_NULL_POINTER</code></a>,
312
+ <a class="link" href="cairo-Error-Handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a>, <a class="link" href="cairo-Error-Handling.html#CAIRO-STATUS-READ-ERROR:CAPS"><code class="literal">CAIRO_STATUS_READ_ERROR</code></a>,
313
+ <a class="link" href="cairo-Error-Handling.html#CAIRO-STATUS-INVALID-CONTENT:CAPS"><code class="literal">CAIRO_STATUS_INVALID_CONTENT</code></a>, <a class="link" href="cairo-Error-Handling.html#CAIRO-STATUS-INVALID-FORMAT:CAPS"><code class="literal">CAIRO_STATUS_INVALID_FORMAT</code></a>, or
314
+ <a class="link" href="cairo-Error-Handling.html#CAIRO-STATUS-INVALID-VISUAL:CAPS"><code class="literal">CAIRO_STATUS_INVALID_VISUAL</code></a>.
315
+ </td>
316
+ </tr>
317
+ </tbody>
318
+ </table></div>
319
+ </div>
320
+ <hr>
321
+ <div class="refsect2" lang="en">
322
+ <a name="id2662189"></a><h3>
323
+ <a name="cairo-surface-finish"></a>cairo_surface_finish ()</h3>
324
+ <a class="indexterm" name="id2662200"></a><pre class="programlisting">void cairo_surface_finish (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);</pre>
325
+ <p>
326
+ This function finishes the surface and drops all references to
327
+ external resources. For example, for the Xlib backend it means
328
+ that cairo will no longer access the drawable, which can be freed.
329
+ After calling <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-finish"><code class="function">cairo_surface_finish()</code></a> the only valid operations on a
330
+ surface are getting and setting user data and referencing and
331
+ destroying it. Further drawing to the surface will not affect the
332
+ surface but will instead trigger a CAIRO_STATUS_SURFACE_FINISHED
333
+ error.
334
+ </p>
335
+ <p>
336
+ When the last call to <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-destroy"><code class="function">cairo_surface_destroy()</code></a> decreases the
337
+ reference count to zero, cairo will call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-finish"><code class="function">cairo_surface_finish()</code></a> if
338
+ it hasn't been called already, before freeing the resources
339
+ associated with the surface.</p>
340
+ <p>
341
+
342
+ </p>
343
+ <div class="variablelist"><table border="0">
344
+ <col align="left" valign="top">
345
+ <tbody><tr>
346
+ <td><p><span class="term"><em class="parameter"><code>surface</code></em>&#160;:</span></p></td>
347
+ <td> the <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a> to finish
348
+ </td>
349
+ </tr></tbody>
350
+ </table></div>
351
+ </div>
352
+ <hr>
353
+ <div class="refsect2" lang="en">
354
+ <a name="id2662296"></a><h3>
355
+ <a name="cairo-surface-flush"></a>cairo_surface_flush ()</h3>
356
+ <a class="indexterm" name="id2662309"></a><pre class="programlisting">void cairo_surface_flush (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);</pre>
357
+ <p>
358
+ Do any pending drawing for the surface and also restore any
359
+ temporary modification's cairo has made to the surface's
360
+ state. This function must be called before switching from
361
+ drawing on the surface with cairo to drawing on it directly
362
+ with native APIs. If the surface doesn't support direct access,
363
+ then this function does nothing.</p>
364
+ <p>
365
+
366
+ </p>
367
+ <div class="variablelist"><table border="0">
368
+ <col align="left" valign="top">
369
+ <tbody><tr>
370
+ <td><p><span class="term"><em class="parameter"><code>surface</code></em>&#160;:</span></p></td>
371
+ <td> a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a>
372
+ </td>
373
+ </tr></tbody>
374
+ </table></div>
375
+ </div>
376
+ <hr>
377
+ <div class="refsect2" lang="en">
378
+ <a name="id2662371"></a><h3>
379
+ <a name="cairo-surface-get-font-options"></a>cairo_surface_get_font_options ()</h3>
380
+ <a class="indexterm" name="id2662384"></a><pre class="programlisting">void cairo_surface_get_font_options (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface,
381
+ <a class="link" href="cairo-Font-Options.html#cairo-font-options-t">cairo_font_options_t</a> *options);</pre>
382
+ <p>
383
+ Retrieves the default font rendering options for the surface.
384
+ This allows display surfaces to report the correct subpixel order
385
+ for rendering on them, print surfaces to disable hinting of
386
+ metrics and so forth. The result can then be used with
387
+ <a class="link" href="cairo-Scaled-Fonts.html#cairo-scaled-font-create"><code class="function">cairo_scaled_font_create()</code></a>.</p>
388
+ <p>
389
+
390
+ </p>
391
+ <div class="variablelist"><table border="0">
392
+ <col align="left" valign="top">
393
+ <tbody>
394
+ <tr>
395
+ <td><p><span class="term"><em class="parameter"><code>surface</code></em>&#160;:</span></p></td>
396
+ <td> a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a>
397
+ </td>
398
+ </tr>
399
+ <tr>
400
+ <td><p><span class="term"><em class="parameter"><code>options</code></em>&#160;:</span></p></td>
401
+ <td> a <a class="link" href="cairo-Font-Options.html#cairo-font-options-t"><span class="type">cairo_font_options_t</span></a> object into which to store
402
+ the retrieved options. All existing values are overwritten
403
+ </td>
404
+ </tr>
405
+ </tbody>
406
+ </table></div>
407
+ </div>
408
+ <hr>
409
+ <div class="refsect2" lang="en">
410
+ <a name="id2662484"></a><h3>
411
+ <a name="cairo-surface-get-content"></a>cairo_surface_get_content ()</h3>
412
+ <a class="indexterm" name="id2662498"></a><pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-content-t">cairo_content_t</a> cairo_surface_get_content (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);</pre>
413
+ <p>
414
+ This function returns the content type of <em class="parameter"><code>surface</code></em> which indicates
415
+ whether the surface contains color and/or alpha information. See
416
+ <a class="link" href="cairo-cairo-surface-t.html#cairo-content-t"><span class="type">cairo_content_t</span></a>.</p>
417
+ <p>
418
+
419
+ </p>
420
+ <div class="variablelist"><table border="0">
421
+ <col align="left" valign="top">
422
+ <tbody>
423
+ <tr>
424
+ <td><p><span class="term"><em class="parameter"><code>surface</code></em>&#160;:</span></p></td>
425
+ <td> a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a>
426
+ </td>
427
+ </tr>
428
+ <tr>
429
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
430
+ <td> The content type of <em class="parameter"><code>surface</code></em>.
431
+
432
+ </td>
433
+ </tr>
434
+ </tbody>
435
+ </table></div>
436
+ <p class="since">Since 1.2
437
+ </p>
438
+ </div>
439
+ <hr>
440
+ <div class="refsect2" lang="en">
441
+ <a name="id2662593"></a><h3>
442
+ <a name="cairo-surface-mark-dirty"></a>cairo_surface_mark_dirty ()</h3>
443
+ <a class="indexterm" name="id2662604"></a><pre class="programlisting">void cairo_surface_mark_dirty (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);</pre>
444
+ <p>
445
+ Tells cairo that drawing has been done to surface using means other
446
+ than cairo, and that cairo should reread any cached areas. Note
447
+ that you must call <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-flush"><code class="function">cairo_surface_flush()</code></a> before doing such drawing.</p>
448
+ <p>
449
+
450
+ </p>
451
+ <div class="variablelist"><table border="0">
452
+ <col align="left" valign="top">
453
+ <tbody><tr>
454
+ <td><p><span class="term"><em class="parameter"><code>surface</code></em>&#160;:</span></p></td>
455
+ <td> a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a>
456
+ </td>
457
+ </tr></tbody>
458
+ </table></div>
459
+ </div>
460
+ <hr>
461
+ <div class="refsect2" lang="en">
462
+ <a name="id2662673"></a><h3>
463
+ <a name="cairo-surface-mark-dirty-rectangle"></a>cairo_surface_mark_dirty_rectangle ()</h3>
464
+ <a class="indexterm" name="id2662687"></a><pre class="programlisting">void cairo_surface_mark_dirty_rectangle (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface,
465
+ int x,
466
+ int y,
467
+ int width,
468
+ int height);</pre>
469
+ <p>
470
+ Like <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-mark-dirty"><code class="function">cairo_surface_mark_dirty()</code></a>, but drawing has been done only to
471
+ the specified rectangle, so that cairo can retain cached contents
472
+ for other parts of the surface.
473
+ </p>
474
+ <p>
475
+ Any cached clip set on the surface will be reset by this function,
476
+ to make sure that future cairo calls have the clip set that they
477
+ expect.</p>
478
+ <p>
479
+
480
+ </p>
481
+ <div class="variablelist"><table border="0">
482
+ <col align="left" valign="top">
483
+ <tbody>
484
+ <tr>
485
+ <td><p><span class="term"><em class="parameter"><code>surface</code></em>&#160;:</span></p></td>
486
+ <td> a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a>
487
+ </td>
488
+ </tr>
489
+ <tr>
490
+ <td><p><span class="term"><em class="parameter"><code>x</code></em>&#160;:</span></p></td>
491
+ <td> X coordinate of dirty rectangle
492
+ </td>
493
+ </tr>
494
+ <tr>
495
+ <td><p><span class="term"><em class="parameter"><code>y</code></em>&#160;:</span></p></td>
496
+ <td> Y coordinate of dirty rectangle
497
+ </td>
498
+ </tr>
499
+ <tr>
500
+ <td><p><span class="term"><em class="parameter"><code>width</code></em>&#160;:</span></p></td>
501
+ <td> width of dirty rectangle
502
+ </td>
503
+ </tr>
504
+ <tr>
505
+ <td><p><span class="term"><em class="parameter"><code>height</code></em>&#160;:</span></p></td>
506
+ <td> height of dirty rectangle
507
+ </td>
508
+ </tr>
509
+ </tbody>
510
+ </table></div>
511
+ </div>
512
+ <hr>
513
+ <div class="refsect2" lang="en">
514
+ <a name="id2662827"></a><h3>
515
+ <a name="cairo-surface-set-device-offset"></a>cairo_surface_set_device_offset ()</h3>
516
+ <a class="indexterm" name="id2662839"></a><pre class="programlisting">void cairo_surface_set_device_offset (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface,
517
+ double x_offset,
518
+ double y_offset);</pre>
519
+ <p>
520
+ Sets an offset that is added to the device coordinates determined
521
+ by the CTM when drawing to <em class="parameter"><code>surface</code></em>. One use case for this function
522
+ is when we want to create a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a> that redirects drawing
523
+ for a portion of an onscreen surface to an offscreen surface in a
524
+ way that is completely invisible to the user of the cairo
525
+ API. Setting a transformation via <a class="link" href="cairo-Transformations.html#cairo-translate"><code class="function">cairo_translate()</code></a> isn't
526
+ sufficient to do this, since functions like
527
+ <a class="link" href="cairo-Transformations.html#cairo-device-to-user"><code class="function">cairo_device_to_user()</code></a> will expose the hidden offset.
528
+ </p>
529
+ <p>
530
+ Note that the offset affects drawing to the surface as well as
531
+ using the surface in a source pattern.</p>
532
+ <p>
533
+
534
+ </p>
535
+ <div class="variablelist"><table border="0">
536
+ <col align="left" valign="top">
537
+ <tbody>
538
+ <tr>
539
+ <td><p><span class="term"><em class="parameter"><code>surface</code></em>&#160;:</span></p></td>
540
+ <td> a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a>
541
+ </td>
542
+ </tr>
543
+ <tr>
544
+ <td><p><span class="term"><em class="parameter"><code>x_offset</code></em>&#160;:</span></p></td>
545
+ <td> the offset in the X direction, in device units
546
+ </td>
547
+ </tr>
548
+ <tr>
549
+ <td><p><span class="term"><em class="parameter"><code>y_offset</code></em>&#160;:</span></p></td>
550
+ <td> the offset in the Y direction, in device units
551
+ </td>
552
+ </tr>
553
+ </tbody>
554
+ </table></div>
555
+ </div>
556
+ <hr>
557
+ <div class="refsect2" lang="en">
558
+ <a name="id2662971"></a><h3>
559
+ <a name="cairo-surface-get-device-offset"></a>cairo_surface_get_device_offset ()</h3>
560
+ <a class="indexterm" name="id2662986"></a><pre class="programlisting">void cairo_surface_get_device_offset (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface,
561
+ double *x_offset,
562
+ double *y_offset);</pre>
563
+ <p>
564
+ This function returns the previous device offset set by
565
+ <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-set-device-offset"><code class="function">cairo_surface_set_device_offset()</code></a>.</p>
566
+ <p>
567
+
568
+ </p>
569
+ <div class="variablelist"><table border="0">
570
+ <col align="left" valign="top">
571
+ <tbody>
572
+ <tr>
573
+ <td><p><span class="term"><em class="parameter"><code>surface</code></em>&#160;:</span></p></td>
574
+ <td> a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a>
575
+ </td>
576
+ </tr>
577
+ <tr>
578
+ <td><p><span class="term"><em class="parameter"><code>x_offset</code></em>&#160;:</span></p></td>
579
+ <td> the offset in the X direction, in device units
580
+ </td>
581
+ </tr>
582
+ <tr>
583
+ <td><p><span class="term"><em class="parameter"><code>y_offset</code></em>&#160;:</span></p></td>
584
+ <td> the offset in the Y direction, in device units
585
+ </td>
586
+ </tr>
587
+ </tbody>
588
+ </table></div>
589
+ <p class="since">Since 1.2
590
+ </p>
591
+ </div>
592
+ <hr>
593
+ <div class="refsect2" lang="en">
594
+ <a name="id2663094"></a><h3>
595
+ <a name="cairo-surface-set-fallback-resolution"></a>cairo_surface_set_fallback_resolution ()</h3>
596
+ <a class="indexterm" name="id2663108"></a><pre class="programlisting">void cairo_surface_set_fallback_resolution
597
+ (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface,
598
+ double x_pixels_per_inch,
599
+ double y_pixels_per_inch);</pre>
600
+ <p>
601
+ Set the horizontal and vertical resolution for image fallbacks.
602
+ </p>
603
+ <p>
604
+ When certain operations aren't supported natively by a backend,
605
+ cairo will fallback by rendering operations to an image and then
606
+ overlaying that image onto the output. For backends that are
607
+ natively vector-oriented, this function can be used to set the
608
+ resolution used for these image fallbacks, (larger values will
609
+ result in more detailed images, but also larger file sizes).
610
+ </p>
611
+ <p>
612
+ Some examples of natively vector-oriented backends are the ps, pdf,
613
+ and svg backends.
614
+ </p>
615
+ <p>
616
+ For backends that are natively raster-oriented, image fallbacks are
617
+ still possible, but they are always performed at the native
618
+ device resolution. So this function has no effect on those
619
+ backends.
620
+ </p>
621
+ <p>
622
+ Note: The fallback resolution only takes effect at the time of
623
+ completing a page (with <a class="link" href="cairo-cairo-t.html#cairo-show-page"><code class="function">cairo_show_page()</code></a> or <a class="link" href="cairo-cairo-t.html#cairo-copy-page"><code class="function">cairo_copy_page()</code></a>) so
624
+ there is currently no way to have more than one fallback resolution
625
+ in effect on a single page.
626
+ </p>
627
+ <p>
628
+ The default fallback resoultion is 300 pixels per inch in both
629
+ dimensions.</p>
630
+ <p>
631
+
632
+ </p>
633
+ <div class="variablelist"><table border="0">
634
+ <col align="left" valign="top">
635
+ <tbody>
636
+ <tr>
637
+ <td><p><span class="term"><em class="parameter"><code>surface</code></em>&#160;:</span></p></td>
638
+ <td> a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a>
639
+ </td>
640
+ </tr>
641
+ <tr>
642
+ <td><p><span class="term"><em class="parameter"><code>x_pixels_per_inch</code></em>&#160;:</span></p></td>
643
+ <td> horizontal setting for pixels per inch
644
+ </td>
645
+ </tr>
646
+ <tr>
647
+ <td><p><span class="term"><em class="parameter"><code>y_pixels_per_inch</code></em>&#160;:</span></p></td>
648
+ <td> vertical setting for pixels per inch
649
+ </td>
650
+ </tr>
651
+ </tbody>
652
+ </table></div>
653
+ <p class="since">Since 1.2
654
+ </p>
655
+ </div>
656
+ <hr>
657
+ <div class="refsect2" lang="en">
658
+ <a name="id2663257"></a><h3>
659
+ <a name="cairo-surface-type-t"></a>enum cairo_surface_type_t</h3>
660
+ <a class="indexterm" name="id2663269"></a><pre class="programlisting">typedef enum _cairo_surface_type {
661
+ CAIRO_SURFACE_TYPE_IMAGE,
662
+ CAIRO_SURFACE_TYPE_PDF,
663
+ CAIRO_SURFACE_TYPE_PS,
664
+ CAIRO_SURFACE_TYPE_XLIB,
665
+ CAIRO_SURFACE_TYPE_XCB,
666
+ CAIRO_SURFACE_TYPE_GLITZ,
667
+ CAIRO_SURFACE_TYPE_QUARTZ,
668
+ CAIRO_SURFACE_TYPE_WIN32,
669
+ CAIRO_SURFACE_TYPE_BEOS,
670
+ CAIRO_SURFACE_TYPE_DIRECTFB,
671
+ CAIRO_SURFACE_TYPE_SVG,
672
+ CAIRO_SURFACE_TYPE_OS2,
673
+ CAIRO_SURFACE_TYPE_WIN32_PRINTING,
674
+ CAIRO_SURFACE_TYPE_QUARTZ_IMAGE
675
+ } cairo_surface_type_t;
676
+ </pre>
677
+ <p>
678
+ <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-type-t"><span class="type">cairo_surface_type_t</span></a> is used to describe the type of a given
679
+ surface. The surface types are also known as "backends" or "surface
680
+ backends" within cairo.
681
+ </p>
682
+ <p>
683
+ The type of a surface is determined by the function used to create
684
+ it, which will generally be of the form cairo_<span class="emphasis"><em>type</em></span><code class="function">_surface_create()</code>,
685
+ (though see <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-create-similar"><code class="function">cairo_surface_create_similar()</code></a> as well).
686
+ </p>
687
+ <p>
688
+ The surface type can be queried with <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-get-type"><code class="function">cairo_surface_get_type()</code></a>
689
+ </p>
690
+ <p>
691
+ The various <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a> functions can be used with surfaces of
692
+ any type, but some backends also provide type-specific functions
693
+ that must only be called with a surface of the appropriate
694
+ type. These functions have names that begin with
695
+ cairo_<span class="emphasis"><em>type</em></span>_surface such as <a class="link" href="cairo-Image-Surfaces.html#cairo-image-surface-get-width"><code class="function">cairo_image_surface_get_width()</code></a>.
696
+ </p>
697
+ <p>
698
+ The behavior of calling a type-specific function with a surface of
699
+ the wrong type is undefined.
700
+ </p>
701
+ <p>
702
+ New entries may be added in future versions.</p>
703
+ <p>
704
+
705
+ </p>
706
+ <div class="variablelist"><table border="0">
707
+ <col align="left" valign="top">
708
+ <tbody>
709
+ <tr>
710
+ <td><p><span class="term"><a name="CAIRO-SURFACE-TYPE-IMAGE:CAPS"></a><code class="literal">CAIRO_SURFACE_TYPE_IMAGE</code></span></p></td>
711
+ <td> The surface is of type image
712
+ </td>
713
+ </tr>
714
+ <tr>
715
+ <td><p><span class="term"><a name="CAIRO-SURFACE-TYPE-PDF:CAPS"></a><code class="literal">CAIRO_SURFACE_TYPE_PDF</code></span></p></td>
716
+ <td> The surface is of type pdf
717
+ </td>
718
+ </tr>
719
+ <tr>
720
+ <td><p><span class="term"><a name="CAIRO-SURFACE-TYPE-PS:CAPS"></a><code class="literal">CAIRO_SURFACE_TYPE_PS</code></span></p></td>
721
+ <td> The surface is of type ps
722
+ </td>
723
+ </tr>
724
+ <tr>
725
+ <td><p><span class="term"><a name="CAIRO-SURFACE-TYPE-XLIB:CAPS"></a><code class="literal">CAIRO_SURFACE_TYPE_XLIB</code></span></p></td>
726
+ <td> The surface is of type xlib
727
+ </td>
728
+ </tr>
729
+ <tr>
730
+ <td><p><span class="term"><a name="CAIRO-SURFACE-TYPE-XCB:CAPS"></a><code class="literal">CAIRO_SURFACE_TYPE_XCB</code></span></p></td>
731
+ <td> The surface is of type xcb
732
+ </td>
733
+ </tr>
734
+ <tr>
735
+ <td><p><span class="term"><a name="CAIRO-SURFACE-TYPE-GLITZ:CAPS"></a><code class="literal">CAIRO_SURFACE_TYPE_GLITZ</code></span></p></td>
736
+ <td> The surface is of type glitz
737
+ </td>
738
+ </tr>
739
+ <tr>
740
+ <td><p><span class="term"><a name="CAIRO-SURFACE-TYPE-QUARTZ:CAPS"></a><code class="literal">CAIRO_SURFACE_TYPE_QUARTZ</code></span></p></td>
741
+ <td> The surface is of type quartz
742
+ </td>
743
+ </tr>
744
+ <tr>
745
+ <td><p><span class="term"><a name="CAIRO-SURFACE-TYPE-WIN32:CAPS"></a><code class="literal">CAIRO_SURFACE_TYPE_WIN32</code></span></p></td>
746
+ <td> The surface is of type win32
747
+ </td>
748
+ </tr>
749
+ <tr>
750
+ <td><p><span class="term"><a name="CAIRO-SURFACE-TYPE-BEOS:CAPS"></a><code class="literal">CAIRO_SURFACE_TYPE_BEOS</code></span></p></td>
751
+ <td> The surface is of type beos
752
+ </td>
753
+ </tr>
754
+ <tr>
755
+ <td><p><span class="term"><a name="CAIRO-SURFACE-TYPE-DIRECTFB:CAPS"></a><code class="literal">CAIRO_SURFACE_TYPE_DIRECTFB</code></span></p></td>
756
+ <td> The surface is of type directfb
757
+ </td>
758
+ </tr>
759
+ <tr>
760
+ <td><p><span class="term"><a name="CAIRO-SURFACE-TYPE-SVG:CAPS"></a><code class="literal">CAIRO_SURFACE_TYPE_SVG</code></span></p></td>
761
+ <td> The surface is of type svg
762
+ </td>
763
+ </tr>
764
+ <tr>
765
+ <td><p><span class="term"><a name="CAIRO-SURFACE-TYPE-OS2:CAPS"></a><code class="literal">CAIRO_SURFACE_TYPE_OS2</code></span></p></td>
766
+ <td> The surface is of type os2
767
+ </td>
768
+ </tr>
769
+ <tr>
770
+ <td><p><span class="term"><a name="CAIRO-SURFACE-TYPE-WIN32-PRINTING:CAPS"></a><code class="literal">CAIRO_SURFACE_TYPE_WIN32_PRINTING</code></span></p></td>
771
+ <td> The surface is a win32 printing surface
772
+ </td>
773
+ </tr>
774
+ <tr>
775
+ <td><p><span class="term"><a name="CAIRO-SURFACE-TYPE-QUARTZ-IMAGE:CAPS"></a><code class="literal">CAIRO_SURFACE_TYPE_QUARTZ_IMAGE</code></span></p></td>
776
+ <td> The surface is of type quartz_image
777
+ </td>
778
+ </tr>
779
+ </tbody>
780
+ </table></div>
781
+ <p class="since">Since 1.2
782
+ </p>
783
+ </div>
784
+ <hr>
785
+ <div class="refsect2" lang="en">
786
+ <a name="id2663672"></a><h3>
787
+ <a name="cairo-surface-get-type"></a>cairo_surface_get_type ()</h3>
788
+ <a class="indexterm" name="id2663684"></a><pre class="programlisting"><a class="link" href="cairo-cairo-surface-t.html#cairo-surface-type-t">cairo_surface_type_t</a> cairo_surface_get_type (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);</pre>
789
+ <p>
790
+ This function returns the type of the backend used to create
791
+ a surface. See <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-type-t"><span class="type">cairo_surface_type_t</span></a> for available types.</p>
792
+ <p>
793
+
794
+ </p>
795
+ <div class="variablelist"><table border="0">
796
+ <col align="left" valign="top">
797
+ <tbody>
798
+ <tr>
799
+ <td><p><span class="term"><em class="parameter"><code>surface</code></em>&#160;:</span></p></td>
800
+ <td> a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a>
801
+ </td>
802
+ </tr>
803
+ <tr>
804
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
805
+ <td> The type of <em class="parameter"><code>surface</code></em>.
806
+
807
+ </td>
808
+ </tr>
809
+ </tbody>
810
+ </table></div>
811
+ <p class="since">Since 1.2
812
+ </p>
813
+ </div>
814
+ <hr>
815
+ <div class="refsect2" lang="en">
816
+ <a name="id2663763"></a><h3>
817
+ <a name="cairo-surface-get-reference-count"></a>cairo_surface_get_reference_count ()</h3>
818
+ <a class="indexterm" name="id2663778"></a><pre class="programlisting">unsigned int cairo_surface_get_reference_count (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);</pre>
819
+ <p>
820
+ Returns the current reference count of <em class="parameter"><code>surface</code></em>.</p>
821
+ <p>
822
+
823
+ </p>
824
+ <div class="variablelist"><table border="0">
825
+ <col align="left" valign="top">
826
+ <tbody>
827
+ <tr>
828
+ <td><p><span class="term"><em class="parameter"><code>surface</code></em>&#160;:</span></p></td>
829
+ <td> a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a>
830
+ </td>
831
+ </tr>
832
+ <tr>
833
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
834
+ <td> the current reference count of <em class="parameter"><code>surface</code></em>. If the
835
+ object is a nil object, 0 will be returned.
836
+
837
+ </td>
838
+ </tr>
839
+ </tbody>
840
+ </table></div>
841
+ <p class="since">Since 1.4
842
+ </p>
843
+ </div>
844
+ <hr>
845
+ <div class="refsect2" lang="en">
846
+ <a name="id2663858"></a><h3>
847
+ <a name="cairo-surface-set-user-data"></a>cairo_surface_set_user_data ()</h3>
848
+ <a class="indexterm" name="id2663869"></a><pre class="programlisting"><a class="link" href="cairo-Error-Handling.html#cairo-status-t">cairo_status_t</a> cairo_surface_set_user_data (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface,
849
+ const <a class="link" href="cairo-Types.html#cairo-user-data-key-t">cairo_user_data_key_t</a> *key,
850
+ void *user_data,
851
+ <a class="link" href="cairo-Types.html#cairo-destroy-func-t">cairo_destroy_func_t</a> destroy);</pre>
852
+ <p>
853
+ Attach user data to <em class="parameter"><code>surface</code></em>. To remove user data from a surface,
854
+ call this function with the key that was used to set it and <code class="literal">NULL</code>
855
+ for <em class="parameter"><code>data</code></em>.</p>
856
+ <p>
857
+
858
+ </p>
859
+ <div class="variablelist"><table border="0">
860
+ <col align="left" valign="top">
861
+ <tbody>
862
+ <tr>
863
+ <td><p><span class="term"><em class="parameter"><code>surface</code></em>&#160;:</span></p></td>
864
+ <td> a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a>
865
+ </td>
866
+ </tr>
867
+ <tr>
868
+ <td><p><span class="term"><em class="parameter"><code>key</code></em>&#160;:</span></p></td>
869
+ <td> the address of a <a class="link" href="cairo-Types.html#cairo-user-data-key-t"><span class="type">cairo_user_data_key_t</span></a> to attach the user data to
870
+ </td>
871
+ </tr>
872
+ <tr>
873
+ <td><p><span class="term"><em class="parameter"><code>user_data</code></em>&#160;:</span></p></td>
874
+ <td> the user data to attach to the surface
875
+ </td>
876
+ </tr>
877
+ <tr>
878
+ <td><p><span class="term"><em class="parameter"><code>destroy</code></em>&#160;:</span></p></td>
879
+ <td> a <a class="link" href="cairo-Types.html#cairo-destroy-func-t"><span class="type">cairo_destroy_func_t</span></a> which will be called when the
880
+ surface is destroyed or when new user data is attached using the
881
+ same key.
882
+ </td>
883
+ </tr>
884
+ <tr>
885
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
886
+ <td> <a class="link" href="cairo-Error-Handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or <a class="link" href="cairo-Error-Handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a> if a
887
+ slot could not be allocated for the user data.
888
+ </td>
889
+ </tr>
890
+ </tbody>
891
+ </table></div>
892
+ </div>
893
+ <hr>
894
+ <div class="refsect2" lang="en">
895
+ <a name="id2664040"></a><h3>
896
+ <a name="cairo-surface-get-user-data"></a>cairo_surface_get_user_data ()</h3>
897
+ <a class="indexterm" name="id2664051"></a><pre class="programlisting">void* cairo_surface_get_user_data (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface,
898
+ const <a class="link" href="cairo-Types.html#cairo-user-data-key-t">cairo_user_data_key_t</a> *key);</pre>
899
+ <p>
900
+ Return user data previously attached to <em class="parameter"><code>surface</code></em> using the specified
901
+ key. If no user data has been attached with the given key this
902
+ function returns <code class="literal">NULL</code>.</p>
903
+ <p>
904
+
905
+ </p>
906
+ <div class="variablelist"><table border="0">
907
+ <col align="left" valign="top">
908
+ <tbody>
909
+ <tr>
910
+ <td><p><span class="term"><em class="parameter"><code>surface</code></em>&#160;:</span></p></td>
911
+ <td> a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a>
912
+ </td>
913
+ </tr>
914
+ <tr>
915
+ <td><p><span class="term"><em class="parameter"><code>key</code></em>&#160;:</span></p></td>
916
+ <td> the address of the <a class="link" href="cairo-Types.html#cairo-user-data-key-t"><span class="type">cairo_user_data_key_t</span></a> the user data was
917
+ attached to
918
+ </td>
919
+ </tr>
920
+ <tr>
921
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
922
+ <td> the user data previously attached or <code class="literal">NULL</code>.
923
+ </td>
924
+ </tr>
925
+ </tbody>
926
+ </table></div>
927
+ </div>
928
+ <hr>
929
+ <div class="refsect2" lang="en">
930
+ <a name="id2664162"></a><h3>
931
+ <a name="cairo-surface-copy-page"></a>cairo_surface_copy_page ()</h3>
932
+ <a class="indexterm" name="id2664174"></a><pre class="programlisting">void cairo_surface_copy_page (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);</pre>
933
+ <p>
934
+ Emits the current page for backends that support multiple pages,
935
+ but doesn't clear it, so that the contents of the current page will
936
+ be retained for the next page. Use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-show-page"><code class="function">cairo_surface_show_page()</code></a> if you
937
+ want to get an empty page after the emission.</p>
938
+ <p>
939
+
940
+ </p>
941
+ <div class="variablelist"><table border="0">
942
+ <col align="left" valign="top">
943
+ <tbody><tr>
944
+ <td><p><span class="term"><em class="parameter"><code>surface</code></em>&#160;:</span></p></td>
945
+ <td> a <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t"><span class="type">cairo_surface_t</span></a>
946
+ </td>
947
+ </tr></tbody>
948
+ </table></div>
949
+ <p class="since">Since 1.6
950
+ </p>
951
+ </div>
952
+ <hr>
953
+ <div class="refsect2" lang="en">
954
+ <a name="id2664243"></a><h3>
955
+ <a name="cairo-surface-show-page"></a>cairo_surface_show_page ()</h3>
956
+ <a class="indexterm" name="id2664255"></a><pre class="programlisting">void cairo_surface_show_page (<a class="link" href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface);</pre>
957
+ <p>
958
+ Emits and clears the current page for backends that support multiple
959
+ pages. Use <a class="link" href="cairo-cairo-surface-t.html#cairo-surface-copy-page"><code class="function">cairo_surface_copy_page()</code></a> if you don't want to clear the page.</p>
960
+ <p>
961
+
962
+ </p>
963
+ <div class="variablelist"><table border="0">
964
+ <col align="left" valign="top">
965
+ <tbody><tr>
966
+ <td><p><span class="term"><em class="parameter"><code>surface</code></em>&#160;:</span></p></td>
967
+ <td> a <span class="type">cairo_Surface_t</span>
968
+ </td>
969
+ </tr></tbody>
970
+ </table></div>
971
+ <p class="since">Since 1.6
972
+ </p>
973
+ </div>
974
+ </div>
975
+ <div class="refsect1" lang="en">
976
+ <a name="id2664323"></a><h2>See Also</h2>
977
+ <p>
978
+ </p>
979
+ <div class="itemizedlist"><ul type="disc">
980
+ <li>#<a class="link" href="cairo-cairo-t.html#cairo-t"><code class="function">cairo_t()</code></a>
981
+ </li>
982
+ <li>#<a class="link" href="cairo-Patterns.html#cairo-pattern-t"><code class="function">cairo_pattern_t()</code></a>
983
+ </li>
984
+ </ul></div>
985
+ <p>
986
+ </p>
987
+ </div>
988
+ <div class="refsect1" lang="en">
989
+ <a name="id2664357"></a><div class="refsect2" lang="en"><a name="id2664358"></a></div>
990
+ <hr>
991
+ <div class="refsect2" lang="en"><a name="id2664359"></a></div>
992
+ </div>
993
+ </div>
994
+ </body>
995
+ </html>