cairo 1.14.0-x64-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 (636) hide show
  1. checksums.yaml +7 -0
  2. data/AUTHORS +7 -0
  3. data/COPYING +59 -0
  4. data/GPL +340 -0
  5. data/Gemfile +5 -0
  6. data/NEWS +429 -0
  7. data/README.rdoc +120 -0
  8. data/Rakefile +620 -0
  9. data/ext/cairo/cairo.def +140 -0
  10. data/ext/cairo/depend +3 -0
  11. data/ext/cairo/extconf.rb +202 -0
  12. data/ext/cairo/rb_cairo.c +111 -0
  13. data/ext/cairo/rb_cairo.h +348 -0
  14. data/ext/cairo/rb_cairo_constants.c +673 -0
  15. data/ext/cairo/rb_cairo_context.c +1741 -0
  16. data/ext/cairo/rb_cairo_device.c +475 -0
  17. data/ext/cairo/rb_cairo_exception.c +446 -0
  18. data/ext/cairo/rb_cairo_font_extents.c +200 -0
  19. data/ext/cairo/rb_cairo_font_face.c +726 -0
  20. data/ext/cairo/rb_cairo_font_options.c +197 -0
  21. data/ext/cairo/rb_cairo_glyph.c +161 -0
  22. data/ext/cairo/rb_cairo_io.c +166 -0
  23. data/ext/cairo/rb_cairo_io.h +44 -0
  24. data/ext/cairo/rb_cairo_matrix.c +366 -0
  25. data/ext/cairo/rb_cairo_path.c +459 -0
  26. data/ext/cairo/rb_cairo_pattern.c +1192 -0
  27. data/ext/cairo/rb_cairo_private.c +255 -0
  28. data/ext/cairo/rb_cairo_private.h +129 -0
  29. data/ext/cairo/rb_cairo_rectangle.c +83 -0
  30. data/ext/cairo/rb_cairo_region.c +385 -0
  31. data/ext/cairo/rb_cairo_scaled_font.c +235 -0
  32. data/ext/cairo/rb_cairo_surface.c +2284 -0
  33. data/ext/cairo/rb_cairo_text_cluster.c +151 -0
  34. data/ext/cairo/rb_cairo_text_extents.c +221 -0
  35. data/lib/2.0/cairo.so +0 -0
  36. data/lib/2.1/cairo.so +0 -0
  37. data/lib/2.2/cairo.so +0 -0
  38. data/lib/cairo.rb +154 -0
  39. data/lib/cairo/color.rb +267 -0
  40. data/lib/cairo/colors.rb +656 -0
  41. data/lib/cairo/constants.rb +24 -0
  42. data/lib/cairo/context.rb +29 -0
  43. data/lib/cairo/context/blur.rb +45 -0
  44. data/lib/cairo/context/circle.rb +9 -0
  45. data/lib/cairo/context/color.rb +11 -0
  46. data/lib/cairo/context/path.rb +117 -0
  47. data/lib/cairo/context/rectangle.rb +33 -0
  48. data/lib/cairo/context/triangle.rb +12 -0
  49. data/lib/cairo/device.rb +13 -0
  50. data/lib/cairo/paper.rb +183 -0
  51. data/lib/cairo/papers.rb +65 -0
  52. data/lib/cairo/path.rb +15 -0
  53. data/lib/cairo/pattern.rb +12 -0
  54. data/lib/cairo/point.rb +7 -0
  55. data/lib/cairo/surface.rb +13 -0
  56. data/samples/agg/aa_test.rb +304 -0
  57. data/samples/blur.rb +46 -0
  58. data/samples/pac-nomralize.rb +170 -0
  59. data/samples/pac-tee.rb +170 -0
  60. data/samples/pac.rb +98 -0
  61. data/samples/png.rb +44 -0
  62. data/samples/scalable.rb +55 -0
  63. data/samples/text-on-path.rb +59 -0
  64. data/samples/text2.rb +130 -0
  65. data/test/cairo-test-utils.rb +44 -0
  66. data/test/run-test.rb +29 -0
  67. data/test/test_color.rb +17 -0
  68. data/test/test_constants.rb +27 -0
  69. data/test/test_context.rb +105 -0
  70. data/test/test_exception.rb +36 -0
  71. data/test/test_font_extents.rb +36 -0
  72. data/test/test_font_face.rb +257 -0
  73. data/test/test_font_options.rb +13 -0
  74. data/test/test_image_surface.rb +28 -0
  75. data/test/test_paper.rb +81 -0
  76. data/test/test_quartz_image_surface.rb +13 -0
  77. data/test/test_raster_source_pattern.rb +162 -0
  78. data/test/test_recording_surface.rb +19 -0
  79. data/test/test_region.rb +102 -0
  80. data/test/test_scaled_font.rb +34 -0
  81. data/test/test_script_device.rb +46 -0
  82. data/test/test_script_surface.rb +13 -0
  83. data/test/test_surface.rb +61 -0
  84. data/test/test_tee_surface.rb +32 -0
  85. data/test/test_text_cluster.rb +32 -0
  86. data/test/test_text_extents.rb +40 -0
  87. data/test/test_text_to_glyphs_data.rb +51 -0
  88. data/test/test_xml_device.rb +22 -0
  89. data/test/test_xml_surface.rb +34 -0
  90. data/vendor/local/bin/fc-cache.exe +0 -0
  91. data/vendor/local/bin/fc-cat.exe +0 -0
  92. data/vendor/local/bin/fc-list.exe +0 -0
  93. data/vendor/local/bin/fc-match.exe +0 -0
  94. data/vendor/local/bin/fc-pattern.exe +0 -0
  95. data/vendor/local/bin/fc-query.exe +0 -0
  96. data/vendor/local/bin/fc-scan.exe +0 -0
  97. data/vendor/local/bin/fc-validate.exe +0 -0
  98. data/vendor/local/bin/freetype-config +163 -0
  99. data/vendor/local/bin/libcairo-2.dll +0 -0
  100. data/vendor/local/bin/libcairo-gobject-2.dll +0 -0
  101. data/vendor/local/bin/libcairo-script-interpreter-2.dll +0 -0
  102. data/vendor/local/bin/libfontconfig-1.dll +0 -0
  103. data/vendor/local/bin/libfreetype-6.dll +0 -0
  104. data/vendor/local/bin/libgcc_s_seh-1.dll +0 -0
  105. data/vendor/local/bin/libpixman-1-0.dll +0 -0
  106. data/vendor/local/bin/libpng-config +127 -0
  107. data/vendor/local/bin/libpng16-16.dll +0 -0
  108. data/vendor/local/bin/libpng16-config +127 -0
  109. data/vendor/local/bin/libstdc++-6.dll +0 -0
  110. data/vendor/local/bin/libwinpthread-1.dll +0 -0
  111. data/vendor/local/bin/libxml2-2.dll +0 -0
  112. data/vendor/local/bin/png-fix-itxt.exe +0 -0
  113. data/vendor/local/bin/pngfix.exe +0 -0
  114. data/vendor/local/bin/xml2-config +106 -0
  115. data/vendor/local/bin/xmlcatalog.exe +0 -0
  116. data/vendor/local/bin/xmllint.exe +0 -0
  117. data/vendor/local/bin/zlib1.dll +0 -0
  118. data/vendor/local/etc/fonts/conf.d/10-scale-bitmap-fonts.conf +81 -0
  119. data/vendor/local/etc/fonts/conf.d/20-unhint-small-vera.conf +48 -0
  120. data/vendor/local/etc/fonts/conf.d/30-metric-aliases.conf +546 -0
  121. data/vendor/local/etc/fonts/conf.d/30-urw-aliases.conf +24 -0
  122. data/vendor/local/etc/fonts/conf.d/40-nonlatin.conf +231 -0
  123. data/vendor/local/etc/fonts/conf.d/45-latin.conf +189 -0
  124. data/vendor/local/etc/fonts/conf.d/49-sansserif.conf +21 -0
  125. data/vendor/local/etc/fonts/conf.d/50-user.conf +15 -0
  126. data/vendor/local/etc/fonts/conf.d/51-local.conf +6 -0
  127. data/vendor/local/etc/fonts/conf.d/60-latin.conf +70 -0
  128. data/vendor/local/etc/fonts/conf.d/65-fonts-persian.conf +419 -0
  129. data/vendor/local/etc/fonts/conf.d/65-nonlatin.conf +196 -0
  130. data/vendor/local/etc/fonts/conf.d/69-unifont.conf +28 -0
  131. data/vendor/local/etc/fonts/conf.d/80-delicious.conf +19 -0
  132. data/vendor/local/etc/fonts/conf.d/90-synthetic.conf +64 -0
  133. data/vendor/local/etc/fonts/conf.d/README +23 -0
  134. data/vendor/local/etc/fonts/fonts.conf +155 -0
  135. data/vendor/local/include/cairo/cairo-deprecated.h +123 -0
  136. data/vendor/local/include/cairo/cairo-features.h +31 -0
  137. data/vendor/local/include/cairo/cairo-ft.h +118 -0
  138. data/vendor/local/include/cairo/cairo-gobject.h +192 -0
  139. data/vendor/local/include/cairo/cairo-pdf.h +94 -0
  140. data/vendor/local/include/cairo/cairo-ps.h +116 -0
  141. data/vendor/local/include/cairo/cairo-script-interpreter.h +124 -0
  142. data/vendor/local/include/cairo/cairo-script.h +98 -0
  143. data/vendor/local/include/cairo/cairo-svg.h +84 -0
  144. data/vendor/local/include/cairo/cairo-version.h +8 -0
  145. data/vendor/local/include/cairo/cairo-win32.h +112 -0
  146. data/vendor/local/include/cairo/cairo.h +3153 -0
  147. data/vendor/local/include/fontconfig/fcfreetype.h +59 -0
  148. data/vendor/local/include/fontconfig/fcprivate.h +124 -0
  149. data/vendor/local/include/fontconfig/fontconfig.h +1010 -0
  150. data/vendor/local/include/freetype2/config/ftconfig.h +706 -0
  151. data/vendor/local/include/freetype2/config/ftheader.h +832 -0
  152. data/vendor/local/include/freetype2/config/ftmodule.h +20 -0
  153. data/vendor/local/include/freetype2/config/ftoption.h +846 -0
  154. data/vendor/local/include/freetype2/config/ftstdlib.h +174 -0
  155. data/vendor/local/include/freetype2/freetype.h +4076 -0
  156. data/vendor/local/include/freetype2/ft2build.h +42 -0
  157. data/vendor/local/include/freetype2/ftadvanc.h +182 -0
  158. data/vendor/local/include/freetype2/ftautoh.h +402 -0
  159. data/vendor/local/include/freetype2/ftbbox.h +102 -0
  160. data/vendor/local/include/freetype2/ftbdf.h +210 -0
  161. data/vendor/local/include/freetype2/ftbitmap.h +227 -0
  162. data/vendor/local/include/freetype2/ftbzip2.h +102 -0
  163. data/vendor/local/include/freetype2/ftcache.h +1057 -0
  164. data/vendor/local/include/freetype2/ftcffdrv.h +254 -0
  165. data/vendor/local/include/freetype2/ftchapters.h +121 -0
  166. data/vendor/local/include/freetype2/ftcid.h +166 -0
  167. data/vendor/local/include/freetype2/fterrdef.h +249 -0
  168. data/vendor/local/include/freetype2/fterrors.h +198 -0
  169. data/vendor/local/include/freetype2/ftgasp.h +128 -0
  170. data/vendor/local/include/freetype2/ftglyph.h +620 -0
  171. data/vendor/local/include/freetype2/ftgxval.h +358 -0
  172. data/vendor/local/include/freetype2/ftgzip.h +149 -0
  173. data/vendor/local/include/freetype2/ftimage.h +1322 -0
  174. data/vendor/local/include/freetype2/ftincrem.h +353 -0
  175. data/vendor/local/include/freetype2/ftlcdfil.h +251 -0
  176. data/vendor/local/include/freetype2/ftlist.h +277 -0
  177. data/vendor/local/include/freetype2/ftlzw.h +99 -0
  178. data/vendor/local/include/freetype2/ftmac.h +274 -0
  179. data/vendor/local/include/freetype2/ftmm.h +377 -0
  180. data/vendor/local/include/freetype2/ftmodapi.h +641 -0
  181. data/vendor/local/include/freetype2/ftmoderr.h +194 -0
  182. data/vendor/local/include/freetype2/ftotval.h +203 -0
  183. data/vendor/local/include/freetype2/ftoutln.h +572 -0
  184. data/vendor/local/include/freetype2/ftpfr.h +172 -0
  185. data/vendor/local/include/freetype2/ftrender.h +238 -0
  186. data/vendor/local/include/freetype2/ftsizes.h +159 -0
  187. data/vendor/local/include/freetype2/ftsnames.h +200 -0
  188. data/vendor/local/include/freetype2/ftstroke.h +751 -0
  189. data/vendor/local/include/freetype2/ftsynth.h +81 -0
  190. data/vendor/local/include/freetype2/ftsystem.h +347 -0
  191. data/vendor/local/include/freetype2/fttrigon.h +350 -0
  192. data/vendor/local/include/freetype2/ftttdrv.h +170 -0
  193. data/vendor/local/include/freetype2/fttypes.h +598 -0
  194. data/vendor/local/include/freetype2/ftwinfnt.h +275 -0
  195. data/vendor/local/include/freetype2/ftxf86.h +83 -0
  196. data/vendor/local/include/freetype2/t1tables.h +662 -0
  197. data/vendor/local/include/freetype2/ttnameid.h +1237 -0
  198. data/vendor/local/include/freetype2/tttables.h +787 -0
  199. data/vendor/local/include/freetype2/tttags.h +111 -0
  200. data/vendor/local/include/freetype2/ttunpat.h +59 -0
  201. data/vendor/local/include/libpng16/png.h +3276 -0
  202. data/vendor/local/include/libpng16/pngconf.h +644 -0
  203. data/vendor/local/include/libpng16/pnglibconf.h +208 -0
  204. data/vendor/local/include/libxml2/libxml/DOCBparser.h +96 -0
  205. data/vendor/local/include/libxml2/libxml/HTMLparser.h +306 -0
  206. data/vendor/local/include/libxml2/libxml/HTMLtree.h +147 -0
  207. data/vendor/local/include/libxml2/libxml/SAX.h +173 -0
  208. data/vendor/local/include/libxml2/libxml/SAX2.h +178 -0
  209. data/vendor/local/include/libxml2/libxml/c14n.h +126 -0
  210. data/vendor/local/include/libxml2/libxml/catalog.h +182 -0
  211. data/vendor/local/include/libxml2/libxml/chvalid.h +230 -0
  212. data/vendor/local/include/libxml2/libxml/debugXML.h +217 -0
  213. data/vendor/local/include/libxml2/libxml/dict.h +80 -0
  214. data/vendor/local/include/libxml2/libxml/encoding.h +240 -0
  215. data/vendor/local/include/libxml2/libxml/entities.h +151 -0
  216. data/vendor/local/include/libxml2/libxml/globals.h +509 -0
  217. data/vendor/local/include/libxml2/libxml/hash.h +233 -0
  218. data/vendor/local/include/libxml2/libxml/list.h +137 -0
  219. data/vendor/local/include/libxml2/libxml/nanoftp.h +163 -0
  220. data/vendor/local/include/libxml2/libxml/nanohttp.h +81 -0
  221. data/vendor/local/include/libxml2/libxml/parser.h +1241 -0
  222. data/vendor/local/include/libxml2/libxml/parserInternals.h +644 -0
  223. data/vendor/local/include/libxml2/libxml/pattern.h +100 -0
  224. data/vendor/local/include/libxml2/libxml/relaxng.h +217 -0
  225. data/vendor/local/include/libxml2/libxml/schemasInternals.h +958 -0
  226. data/vendor/local/include/libxml2/libxml/schematron.h +142 -0
  227. data/vendor/local/include/libxml2/libxml/threads.h +84 -0
  228. data/vendor/local/include/libxml2/libxml/tree.h +1310 -0
  229. data/vendor/local/include/libxml2/libxml/uri.h +94 -0
  230. data/vendor/local/include/libxml2/libxml/valid.h +458 -0
  231. data/vendor/local/include/libxml2/libxml/xinclude.h +129 -0
  232. data/vendor/local/include/libxml2/libxml/xlink.h +189 -0
  233. data/vendor/local/include/libxml2/libxml/xmlIO.h +366 -0
  234. data/vendor/local/include/libxml2/libxml/xmlautomata.h +146 -0
  235. data/vendor/local/include/libxml2/libxml/xmlerror.h +945 -0
  236. data/vendor/local/include/libxml2/libxml/xmlexports.h +162 -0
  237. data/vendor/local/include/libxml2/libxml/xmlmemory.h +224 -0
  238. data/vendor/local/include/libxml2/libxml/xmlmodule.h +57 -0
  239. data/vendor/local/include/libxml2/libxml/xmlreader.h +428 -0
  240. data/vendor/local/include/libxml2/libxml/xmlregexp.h +222 -0
  241. data/vendor/local/include/libxml2/libxml/xmlsave.h +88 -0
  242. data/vendor/local/include/libxml2/libxml/xmlschemas.h +246 -0
  243. data/vendor/local/include/libxml2/libxml/xmlschemastypes.h +151 -0
  244. data/vendor/local/include/libxml2/libxml/xmlstring.h +140 -0
  245. data/vendor/local/include/libxml2/libxml/xmlunicode.h +202 -0
  246. data/vendor/local/include/libxml2/libxml/xmlversion.h +489 -0
  247. data/vendor/local/include/libxml2/libxml/xmlwriter.h +488 -0
  248. data/vendor/local/include/libxml2/libxml/xpath.h +557 -0
  249. data/vendor/local/include/libxml2/libxml/xpathInternals.h +632 -0
  250. data/vendor/local/include/libxml2/libxml/xpointer.h +114 -0
  251. data/vendor/local/include/pixman-1/pixman-version.h +50 -0
  252. data/vendor/local/include/pixman-1/pixman.h +1111 -0
  253. data/vendor/local/include/png.h +3276 -0
  254. data/vendor/local/include/pngconf.h +644 -0
  255. data/vendor/local/include/pnglibconf.h +208 -0
  256. data/vendor/local/include/zconf.h +511 -0
  257. data/vendor/local/include/zlib.h +1768 -0
  258. data/vendor/local/lib/cmake/libxml2/libxml2-config.cmake +50 -0
  259. data/vendor/local/lib/fontconfig.def +207 -0
  260. data/vendor/local/lib/libcairo-gobject.a +0 -0
  261. data/vendor/local/lib/libcairo-gobject.dll.a +0 -0
  262. data/vendor/local/lib/libcairo-gobject.la +41 -0
  263. data/vendor/local/lib/libcairo-script-interpreter.a +0 -0
  264. data/vendor/local/lib/libcairo-script-interpreter.dll.a +0 -0
  265. data/vendor/local/lib/libcairo-script-interpreter.la +41 -0
  266. data/vendor/local/lib/libcairo.a +0 -0
  267. data/vendor/local/lib/libcairo.dll.a +0 -0
  268. data/vendor/local/lib/libcairo.la +41 -0
  269. data/vendor/local/lib/libfontconfig.dll.a +0 -0
  270. data/vendor/local/lib/libfontconfig.la +41 -0
  271. data/vendor/local/lib/libfreetype.a +0 -0
  272. data/vendor/local/lib/libfreetype.dll.a +0 -0
  273. data/vendor/local/lib/libfreetype.la +41 -0
  274. data/vendor/local/lib/libpixman-1.a +0 -0
  275. data/vendor/local/lib/libpixman-1.dll.a +0 -0
  276. data/vendor/local/lib/libpixman-1.la +41 -0
  277. data/vendor/local/lib/libpng.a +0 -0
  278. data/vendor/local/lib/libpng.dll.a +0 -0
  279. data/vendor/local/lib/libpng.la +41 -0
  280. data/vendor/local/lib/libpng16.a +0 -0
  281. data/vendor/local/lib/libpng16.dll.a +0 -0
  282. data/vendor/local/lib/libpng16.la +41 -0
  283. data/vendor/local/lib/libxml2.a +0 -0
  284. data/vendor/local/lib/libxml2.dll.a +0 -0
  285. data/vendor/local/lib/libxml2.la +41 -0
  286. data/vendor/local/lib/libz.a +0 -0
  287. data/vendor/local/lib/libz.dll.a +0 -0
  288. data/vendor/local/lib/pkgconfig/cairo-fc.pc +12 -0
  289. data/vendor/local/lib/pkgconfig/cairo-ft.pc +12 -0
  290. data/vendor/local/lib/pkgconfig/cairo-gobject.pc +12 -0
  291. data/vendor/local/lib/pkgconfig/cairo-pdf.pc +12 -0
  292. data/vendor/local/lib/pkgconfig/cairo-png.pc +12 -0
  293. data/vendor/local/lib/pkgconfig/cairo-ps.pc +12 -0
  294. data/vendor/local/lib/pkgconfig/cairo-script.pc +12 -0
  295. data/vendor/local/lib/pkgconfig/cairo-svg.pc +12 -0
  296. data/vendor/local/lib/pkgconfig/cairo-win32-font.pc +12 -0
  297. data/vendor/local/lib/pkgconfig/cairo-win32.pc +12 -0
  298. data/vendor/local/lib/pkgconfig/cairo.pc +13 -0
  299. data/vendor/local/lib/pkgconfig/fontconfig.pc +18 -0
  300. data/vendor/local/lib/pkgconfig/freetype2.pc +14 -0
  301. data/vendor/local/lib/pkgconfig/libpng.pc +11 -0
  302. data/vendor/local/lib/pkgconfig/libpng16.pc +11 -0
  303. data/vendor/local/lib/pkgconfig/libxml-2.0.pc +13 -0
  304. data/vendor/local/lib/pkgconfig/pixman-1.pc +11 -0
  305. data/vendor/local/lib/pkgconfig/zlib.pc +13 -0
  306. data/vendor/local/lib/xml2Conf.sh +8 -0
  307. data/vendor/local/share/aclocal/freetype2.m4 +194 -0
  308. data/vendor/local/share/aclocal/libxml.m4 +188 -0
  309. data/vendor/local/share/doc/libxml2-2.9.2/Copyright +23 -0
  310. data/vendor/local/share/doc/libxml2-2.9.2/examples/testHTML.c +880 -0
  311. data/vendor/local/share/doc/libxml2-2.9.2/examples/testSAX.c +1198 -0
  312. data/vendor/local/share/doc/libxml2-2.9.2/examples/testXPath.c +229 -0
  313. data/vendor/local/share/doc/libxml2-2.9.2/examples/xmllint.c +3801 -0
  314. data/vendor/local/share/doc/libxml2-2.9.2/html/DOM.gif +0 -0
  315. data/vendor/local/share/doc/libxml2-2.9.2/html/FAQ.html +299 -0
  316. data/vendor/local/share/doc/libxml2-2.9.2/html/Libxml2-Logo-180x168.gif +0 -0
  317. data/vendor/local/share/doc/libxml2-2.9.2/html/Libxml2-Logo-90x34.gif +0 -0
  318. data/vendor/local/share/doc/libxml2-2.9.2/html/encoding.html +217 -0
  319. data/vendor/local/share/doc/libxml2-2.9.2/html/examples.xml +751 -0
  320. data/vendor/local/share/doc/libxml2-2.9.2/html/examples.xsl +174 -0
  321. data/vendor/local/share/doc/libxml2-2.9.2/html/html/book1.html +13 -0
  322. data/vendor/local/share/doc/libxml2-2.9.2/html/html/home.png +0 -0
  323. data/vendor/local/share/doc/libxml2-2.9.2/html/html/index.html +13 -0
  324. data/vendor/local/share/doc/libxml2-2.9.2/html/html/left.png +0 -0
  325. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-DOCBparser.html +51 -0
  326. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-HTMLparser.html +184 -0
  327. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-HTMLtree.html +73 -0
  328. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-SAX.html +125 -0
  329. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-SAX2.html +128 -0
  330. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-c14n.html +38 -0
  331. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-catalog.html +142 -0
  332. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-chvalid.html +72 -0
  333. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-debugXML.html +120 -0
  334. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-dict.html +58 -0
  335. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-encoding.html +124 -0
  336. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-entities.html +79 -0
  337. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-globals.html +152 -0
  338. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-hash.html +116 -0
  339. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-lib.html +13 -0
  340. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-list.html +120 -0
  341. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-nanoftp.html +94 -0
  342. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-nanohttp.html +65 -0
  343. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-parser.html +559 -0
  344. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-parserInternals.html +322 -0
  345. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-pattern.html +76 -0
  346. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-relaxng.html +162 -0
  347. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-schemasInternals.html +373 -0
  348. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-schematron.html +81 -0
  349. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-threads.html +72 -0
  350. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-tree.html +990 -0
  351. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-uri.html +73 -0
  352. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-valid.html +289 -0
  353. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xinclude.html +59 -0
  354. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xlink.html +82 -0
  355. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlIO.html +212 -0
  356. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlautomata.html +85 -0
  357. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlerror.html +865 -0
  358. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlexports.html +20 -0
  359. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlmemory.html +107 -0
  360. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlmodule.html +38 -0
  361. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlreader.html +330 -0
  362. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlregexp.html +143 -0
  363. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlsave.html +60 -0
  364. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlschemas.html +185 -0
  365. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlschemastypes.html +123 -0
  366. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlstring.html +108 -0
  367. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlunicode.html +512 -0
  368. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlversion.html +63 -0
  369. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xmlwriter.html +261 -0
  370. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xpath.html +316 -0
  371. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xpathInternals.html +394 -0
  372. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xpointer.html +83 -0
  373. data/vendor/local/share/doc/libxml2-2.9.2/html/html/libxml-xzlib.html +16 -0
  374. data/vendor/local/share/doc/libxml2-2.9.2/html/html/right.png +0 -0
  375. data/vendor/local/share/doc/libxml2-2.9.2/html/html/up.png +0 -0
  376. data/vendor/local/share/doc/libxml2-2.9.2/html/index.html +14 -0
  377. data/vendor/local/share/doc/libxml2-2.9.2/html/io1.c +166 -0
  378. data/vendor/local/share/doc/libxml2-2.9.2/html/io1.res +5 -0
  379. data/vendor/local/share/doc/libxml2-2.9.2/html/io2.c +58 -0
  380. data/vendor/local/share/doc/libxml2-2.9.2/html/io2.res +2 -0
  381. data/vendor/local/share/doc/libxml2-2.9.2/html/libxml.gif +0 -0
  382. data/vendor/local/share/doc/libxml2-2.9.2/html/parse1.c +56 -0
  383. data/vendor/local/share/doc/libxml2-2.9.2/html/parse2.c +72 -0
  384. data/vendor/local/share/doc/libxml2-2.9.2/html/parse3.c +60 -0
  385. data/vendor/local/share/doc/libxml2-2.9.2/html/parse4.c +143 -0
  386. data/vendor/local/share/doc/libxml2-2.9.2/html/reader1.c +107 -0
  387. data/vendor/local/share/doc/libxml2-2.9.2/html/reader1.res +14 -0
  388. data/vendor/local/share/doc/libxml2-2.9.2/html/reader2.c +122 -0
  389. data/vendor/local/share/doc/libxml2-2.9.2/html/reader3.c +120 -0
  390. data/vendor/local/share/doc/libxml2-2.9.2/html/reader3.res +13 -0
  391. data/vendor/local/share/doc/libxml2-2.9.2/html/reader4.c +122 -0
  392. data/vendor/local/share/doc/libxml2-2.9.2/html/reader4.res +3 -0
  393. data/vendor/local/share/doc/libxml2-2.9.2/html/redhat.gif +0 -0
  394. data/vendor/local/share/doc/libxml2-2.9.2/html/smallfootonly.gif +0 -0
  395. data/vendor/local/share/doc/libxml2-2.9.2/html/structure.gif +0 -0
  396. data/vendor/local/share/doc/libxml2-2.9.2/html/test1.xml +1 -0
  397. data/vendor/local/share/doc/libxml2-2.9.2/html/test2.xml +13 -0
  398. data/vendor/local/share/doc/libxml2-2.9.2/html/test3.xml +39 -0
  399. data/vendor/local/share/doc/libxml2-2.9.2/html/testWriter.c +1198 -0
  400. data/vendor/local/share/doc/libxml2-2.9.2/html/tree1.c +94 -0
  401. data/vendor/local/share/doc/libxml2-2.9.2/html/tree1.res +4 -0
  402. data/vendor/local/share/doc/libxml2-2.9.2/html/tree2.c +118 -0
  403. data/vendor/local/share/doc/libxml2-2.9.2/html/tree2.res +18 -0
  404. data/vendor/local/share/doc/libxml2-2.9.2/html/tst.xml +7 -0
  405. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/apa.html +8 -0
  406. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/apb.html +14 -0
  407. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/apc.html +82 -0
  408. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/apd.html +76 -0
  409. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ape.html +78 -0
  410. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/apf.html +67 -0
  411. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/apg.html +75 -0
  412. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/aph.html +76 -0
  413. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/api.html +4 -0
  414. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ar01s02.html +14 -0
  415. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ar01s03.html +47 -0
  416. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ar01s04.html +54 -0
  417. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ar01s05.html +55 -0
  418. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ar01s06.html +35 -0
  419. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ar01s07.html +30 -0
  420. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ar01s08.html +38 -0
  421. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ar01s09.html +63 -0
  422. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/blank.png +0 -0
  423. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/1.png +0 -0
  424. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/10.png +0 -0
  425. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/2.png +0 -0
  426. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/3.png +0 -0
  427. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/4.png +0 -0
  428. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/5.png +0 -0
  429. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/6.png +0 -0
  430. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/7.png +0 -0
  431. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/8.png +0 -0
  432. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/callouts/9.png +0 -0
  433. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/caution.png +0 -0
  434. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/draft.png +0 -0
  435. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/home.png +0 -0
  436. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/important.png +0 -0
  437. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/next.png +0 -0
  438. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/note.png +0 -0
  439. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/prev.png +0 -0
  440. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/tip.png +0 -0
  441. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/toc-blank.png +0 -0
  442. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/toc-minus.png +0 -0
  443. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/toc-plus.png +0 -0
  444. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/up.png +0 -0
  445. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/images/warning.png +0 -0
  446. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/includeaddattribute.c +64 -0
  447. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/includeaddkeyword.c +75 -0
  448. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/includeconvert.c +73 -0
  449. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/includegetattribute.c +72 -0
  450. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/includekeyword.c +79 -0
  451. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/includexpath.c +74 -0
  452. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/index.html +14 -0
  453. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/ix01.html +1 -0
  454. data/vendor/local/share/doc/libxml2-2.9.2/html/tutorial/xmltutorial.pdf +1336 -0
  455. data/vendor/local/share/doc/libxml2-2.9.2/html/w3c.png +0 -0
  456. data/vendor/local/share/doc/libxml2-2.9.2/html/writer.xml +2 -0
  457. data/vendor/local/share/doc/libxml2-2.9.2/html/xml.html +5995 -0
  458. data/vendor/local/share/doc/libxml2-2.9.2/html/xpath1.c +250 -0
  459. data/vendor/local/share/doc/libxml2-2.9.2/html/xpath1.res +5 -0
  460. data/vendor/local/share/doc/libxml2-2.9.2/html/xpath2.c +190 -0
  461. data/vendor/local/share/doc/libxml2-2.9.2/html/xpath2.res +30 -0
  462. data/vendor/local/share/fontconfig/conf.avail/10-autohint.conf +14 -0
  463. data/vendor/local/share/fontconfig/conf.avail/10-no-sub-pixel.conf +14 -0
  464. data/vendor/local/share/fontconfig/conf.avail/10-scale-bitmap-fonts.conf +81 -0
  465. data/vendor/local/share/fontconfig/conf.avail/10-sub-pixel-bgr.conf +14 -0
  466. data/vendor/local/share/fontconfig/conf.avail/10-sub-pixel-rgb.conf +14 -0
  467. data/vendor/local/share/fontconfig/conf.avail/10-sub-pixel-vbgr.conf +14 -0
  468. data/vendor/local/share/fontconfig/conf.avail/10-sub-pixel-vrgb.conf +14 -0
  469. data/vendor/local/share/fontconfig/conf.avail/10-unhinted.conf +14 -0
  470. data/vendor/local/share/fontconfig/conf.avail/11-lcdfilter-default.conf +16 -0
  471. data/vendor/local/share/fontconfig/conf.avail/11-lcdfilter-legacy.conf +16 -0
  472. data/vendor/local/share/fontconfig/conf.avail/11-lcdfilter-light.conf +16 -0
  473. data/vendor/local/share/fontconfig/conf.avail/20-unhint-small-vera.conf +48 -0
  474. data/vendor/local/share/fontconfig/conf.avail/25-unhint-nonlatin.conf +128 -0
  475. data/vendor/local/share/fontconfig/conf.avail/30-metric-aliases.conf +546 -0
  476. data/vendor/local/share/fontconfig/conf.avail/30-urw-aliases.conf +24 -0
  477. data/vendor/local/share/fontconfig/conf.avail/40-nonlatin.conf +231 -0
  478. data/vendor/local/share/fontconfig/conf.avail/45-latin.conf +189 -0
  479. data/vendor/local/share/fontconfig/conf.avail/49-sansserif.conf +21 -0
  480. data/vendor/local/share/fontconfig/conf.avail/50-user.conf +15 -0
  481. data/vendor/local/share/fontconfig/conf.avail/51-local.conf +6 -0
  482. data/vendor/local/share/fontconfig/conf.avail/60-latin.conf +70 -0
  483. data/vendor/local/share/fontconfig/conf.avail/65-fonts-persian.conf +419 -0
  484. data/vendor/local/share/fontconfig/conf.avail/65-khmer.conf +16 -0
  485. data/vendor/local/share/fontconfig/conf.avail/65-nonlatin.conf +196 -0
  486. data/vendor/local/share/fontconfig/conf.avail/69-unifont.conf +28 -0
  487. data/vendor/local/share/fontconfig/conf.avail/70-no-bitmaps.conf +12 -0
  488. data/vendor/local/share/fontconfig/conf.avail/70-yes-bitmaps.conf +12 -0
  489. data/vendor/local/share/fontconfig/conf.avail/80-delicious.conf +19 -0
  490. data/vendor/local/share/fontconfig/conf.avail/90-synthetic.conf +64 -0
  491. data/vendor/local/share/gtk-doc/html/cairo/bindings-errors.html +122 -0
  492. data/vendor/local/share/gtk-doc/html/cairo/bindings-fonts.html +53 -0
  493. data/vendor/local/share/gtk-doc/html/cairo/bindings-memory.html +123 -0
  494. data/vendor/local/share/gtk-doc/html/cairo/bindings-overloading.html +121 -0
  495. data/vendor/local/share/gtk-doc/html/cairo/bindings-path.html +117 -0
  496. data/vendor/local/share/gtk-doc/html/cairo/bindings-patterns.html +75 -0
  497. data/vendor/local/share/gtk-doc/html/cairo/bindings-return-values.html +120 -0
  498. data/vendor/local/share/gtk-doc/html/cairo/bindings-streams.html +92 -0
  499. data/vendor/local/share/gtk-doc/html/cairo/bindings-surfaces.html +93 -0
  500. data/vendor/local/share/gtk-doc/html/cairo/cairo-Error-handling.html +397 -0
  501. data/vendor/local/share/gtk-doc/html/cairo/cairo-FreeType-Fonts.html +428 -0
  502. data/vendor/local/share/gtk-doc/html/cairo/cairo-Image-Surfaces.html +452 -0
  503. data/vendor/local/share/gtk-doc/html/cairo/cairo-PDF-Surfaces.html +342 -0
  504. data/vendor/local/share/gtk-doc/html/cairo/cairo-PNG-Support.html +315 -0
  505. data/vendor/local/share/gtk-doc/html/cairo/cairo-Paths.html +1194 -0
  506. data/vendor/local/share/gtk-doc/html/cairo/cairo-PostScript-Surfaces.html +577 -0
  507. data/vendor/local/share/gtk-doc/html/cairo/cairo-Quartz-(CGFont)-Fonts.html +129 -0
  508. data/vendor/local/share/gtk-doc/html/cairo/cairo-Quartz-Surfaces.html +197 -0
  509. data/vendor/local/share/gtk-doc/html/cairo/cairo-Raster-Sources.html +600 -0
  510. data/vendor/local/share/gtk-doc/html/cairo/cairo-Recording-Surfaces.html +226 -0
  511. data/vendor/local/share/gtk-doc/html/cairo/cairo-Regions.html +810 -0
  512. data/vendor/local/share/gtk-doc/html/cairo/cairo-SVG-Surfaces.html +302 -0
  513. data/vendor/local/share/gtk-doc/html/cairo/cairo-Script-Surfaces.html +360 -0
  514. data/vendor/local/share/gtk-doc/html/cairo/cairo-Transformations.html +394 -0
  515. data/vendor/local/share/gtk-doc/html/cairo/cairo-Types.html +156 -0
  516. data/vendor/local/share/gtk-doc/html/cairo/cairo-User-Fonts.html +677 -0
  517. data/vendor/local/share/gtk-doc/html/cairo/cairo-Version-Information.html +342 -0
  518. data/vendor/local/share/gtk-doc/html/cairo/cairo-Win32-Fonts.html +326 -0
  519. data/vendor/local/share/gtk-doc/html/cairo/cairo-Win32-Surfaces.html +280 -0
  520. data/vendor/local/share/gtk-doc/html/cairo/cairo-XCB-Surfaces.html +527 -0
  521. data/vendor/local/share/gtk-doc/html/cairo/cairo-XLib-Surfaces.html +535 -0
  522. data/vendor/local/share/gtk-doc/html/cairo/cairo-XLib-XRender-Backend.html +170 -0
  523. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-device-t.html +636 -0
  524. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-font-face-t.html +380 -0
  525. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-font-options-t.html +653 -0
  526. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-matrix-t.html +559 -0
  527. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-pattern-t.html +2231 -0
  528. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-scaled-font-t.html +956 -0
  529. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html +1637 -0
  530. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-t.html +2695 -0
  531. data/vendor/local/share/gtk-doc/html/cairo/cairo-drawing.html +53 -0
  532. data/vendor/local/share/gtk-doc/html/cairo/cairo-fonts.html +53 -0
  533. data/vendor/local/share/gtk-doc/html/cairo/cairo-support.html +44 -0
  534. data/vendor/local/share/gtk-doc/html/cairo/cairo-surfaces.html +74 -0
  535. data/vendor/local/share/gtk-doc/html/cairo/cairo-text.html +1138 -0
  536. data/vendor/local/share/gtk-doc/html/cairo/cairo.devhelp2 +747 -0
  537. data/vendor/local/share/gtk-doc/html/cairo/home.png +0 -0
  538. data/vendor/local/share/gtk-doc/html/cairo/index-1.10.html +177 -0
  539. data/vendor/local/share/gtk-doc/html/cairo/index-1.12.html +193 -0
  540. data/vendor/local/share/gtk-doc/html/cairo/index-1.2.html +179 -0
  541. data/vendor/local/share/gtk-doc/html/cairo/index-1.4.html +123 -0
  542. data/vendor/local/share/gtk-doc/html/cairo/index-1.6.html +107 -0
  543. data/vendor/local/share/gtk-doc/html/cairo/index-1.8.html +128 -0
  544. data/vendor/local/share/gtk-doc/html/cairo/index-all.html +1122 -0
  545. data/vendor/local/share/gtk-doc/html/cairo/index.html +157 -0
  546. data/vendor/local/share/gtk-doc/html/cairo/index.sgml +833 -0
  547. data/vendor/local/share/gtk-doc/html/cairo/language-bindings.html +73 -0
  548. data/vendor/local/share/gtk-doc/html/cairo/left.png +0 -0
  549. data/vendor/local/share/gtk-doc/html/cairo/right.png +0 -0
  550. data/vendor/local/share/gtk-doc/html/cairo/style.css +266 -0
  551. data/vendor/local/share/gtk-doc/html/cairo/up.png +0 -0
  552. data/vendor/local/share/gtk-doc/html/libxml2/general.html +38 -0
  553. data/vendor/local/share/gtk-doc/html/libxml2/home.png +0 -0
  554. data/vendor/local/share/gtk-doc/html/libxml2/index.html +67 -0
  555. data/vendor/local/share/gtk-doc/html/libxml2/left.png +0 -0
  556. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-DOCBparser.html +138 -0
  557. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-HTMLparser.html +373 -0
  558. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-HTMLtree.html +172 -0
  559. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-SAX.html +243 -0
  560. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-SAX2.html +247 -0
  561. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-c14n.html +91 -0
  562. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-catalog.html +278 -0
  563. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-chvalid.html +241 -0
  564. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-debugXML.html +225 -0
  565. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-dict.html +134 -0
  566. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-encoding.html +218 -0
  567. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-entities.html +166 -0
  568. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-globals.html +383 -0
  569. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-hash.html +214 -0
  570. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-list.html +226 -0
  571. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-nanoftp.html +187 -0
  572. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-nanohttp.html +142 -0
  573. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-parser.html +766 -0
  574. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-parserInternals.html +688 -0
  575. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-pattern.html +166 -0
  576. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-relaxng.html +278 -0
  577. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-schemasInternals.html +860 -0
  578. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-schematron.html +166 -0
  579. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-threads.html +161 -0
  580. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-tree.html +1597 -0
  581. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-uri.html +154 -0
  582. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-valid.html +528 -0
  583. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xinclude.html +169 -0
  584. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xlink.html +160 -0
  585. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlIO.html +347 -0
  586. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlautomata.html +176 -0
  587. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlerror.html +953 -0
  588. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlexports.html +87 -0
  589. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlmemory.html +186 -0
  590. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlmodule.html +97 -0
  591. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlreader.html +565 -0
  592. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlregexp.html +280 -0
  593. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlsave.html +133 -0
  594. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlschemas.html +314 -0
  595. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlschemastypes.html +237 -0
  596. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlstring.html +217 -0
  597. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlunicode.html +887 -0
  598. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlversion.html +292 -0
  599. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlwriter.html +479 -0
  600. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xpath.html +542 -0
  601. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xpathInternals.html +787 -0
  602. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xpointer.html +171 -0
  603. data/vendor/local/share/gtk-doc/html/libxml2/libxml2.devhelp +3573 -0
  604. data/vendor/local/share/gtk-doc/html/libxml2/right.png +0 -0
  605. data/vendor/local/share/gtk-doc/html/libxml2/style.css +66 -0
  606. data/vendor/local/share/gtk-doc/html/libxml2/up.png +0 -0
  607. data/vendor/local/share/license/cairo/AUTHORS +115 -0
  608. data/vendor/local/share/license/cairo/COPYING +33 -0
  609. data/vendor/local/share/license/cairo/COPYING-LGPL-2.1 +510 -0
  610. data/vendor/local/share/license/cairo/COPYING-MPL-1.1 +470 -0
  611. data/vendor/local/share/license/cairo/README +204 -0
  612. data/vendor/local/share/license/cairo/README.win32 +66 -0
  613. data/vendor/local/share/license/fontconfig/AUTHORS +3 -0
  614. data/vendor/local/share/license/fontconfig/COPYING +28 -0
  615. data/vendor/local/share/license/fontconfig/README +1484 -0
  616. data/vendor/local/share/license/freetype/README +83 -0
  617. data/vendor/local/share/license/freetype/README.git +50 -0
  618. data/vendor/local/share/license/libpng/README +215 -0
  619. data/vendor/local/share/license/libxml2/AUTHORS +5 -0
  620. data/vendor/local/share/license/libxml2/COPYING +23 -0
  621. data/vendor/local/share/license/libxml2/README +39 -0
  622. data/vendor/local/share/license/libxml2/README.tests +39 -0
  623. data/vendor/local/share/license/pixman/AUTHORS +0 -0
  624. data/vendor/local/share/license/pixman/COPYING +42 -0
  625. data/vendor/local/share/license/pixman/README +116 -0
  626. data/vendor/local/share/license/zlib/README +115 -0
  627. data/vendor/local/share/man/man1/freetype-config.1 +108 -0
  628. data/vendor/local/share/man/man1/xml2-config.1 +30 -0
  629. data/vendor/local/share/man/man1/xmlcatalog.1 +340 -0
  630. data/vendor/local/share/man/man1/xmllint.1 +647 -0
  631. data/vendor/local/share/man/man3/libpng.3 +6217 -0
  632. data/vendor/local/share/man/man3/libpngpf.3 +18 -0
  633. data/vendor/local/share/man/man3/libxml.3 +71 -0
  634. data/vendor/local/share/man/man5/png.5 +74 -0
  635. data/vendor/local/share/xml/fontconfig/fonts.dtd +233 -0
  636. metadata +774 -0
@@ -0,0 +1,1192 @@
1
+ /* -*- c-file-style: "gnu"; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Ruby Cairo Binding
4
+ *
5
+ * $Author: kou $
6
+ * $Date: 2008-06-12 10:59:54 $
7
+ *
8
+ * Copyright 2012 Kouhei Sutou <kou@cozmixng.org>
9
+ * Copyright 2005 Øyvind Kolås <pippin@freedesktop.org>
10
+ * Copyright 2004-2005 MenTaLguY <mental@rydia.com>
11
+ *
12
+ * This file is made available under the same terms as Ruby
13
+ *
14
+ */
15
+
16
+ #include "rb_cairo.h"
17
+ #include "rb_cairo_private.h"
18
+
19
+ VALUE rb_cCairo_Pattern;
20
+ VALUE rb_cCairo_SolidPattern;
21
+ VALUE rb_cCairo_SurfacePattern;
22
+ VALUE rb_cCairo_GradientPattern;
23
+ VALUE rb_cCairo_LinearPattern;
24
+ VALUE rb_cCairo_RadialPattern;
25
+ VALUE rb_cCairo_MeshPattern;
26
+ VALUE rb_cCairo_RasterSourcePattern;
27
+
28
+ static ID id_parse, id_to_rgb, id_to_a, id_inspect, id_new, id_call;
29
+
30
+ #define _SELF(self) (RVAL2CRPATTERN(self))
31
+
32
+ #if CAIRO_CHECK_VERSION(1, 11, 4)
33
+ # define RB_CAIRO_HAS_MESH_PATTERN
34
+ # define RB_CAIRO_HAS_RASTER_SOURCE_PATTERN
35
+ #endif
36
+
37
+ static VALUE
38
+ cr_color_parse (VALUE color)
39
+ {
40
+ return rb_funcall (rb_mCairo_Color, id_parse, 1, color);
41
+ }
42
+
43
+ static inline void
44
+ cr_pattern_check_status (cairo_pattern_t *pattern)
45
+ {
46
+ rb_cairo_check_status (cairo_pattern_status (pattern));
47
+ }
48
+
49
+ static VALUE
50
+ cr_pattern_get_klass (cairo_pattern_t *pattern)
51
+ {
52
+ VALUE klass;
53
+ cairo_pattern_type_t type;
54
+
55
+ type = cairo_pattern_get_type (pattern);
56
+ switch (type)
57
+ {
58
+ case CAIRO_PATTERN_TYPE_SOLID:
59
+ klass = rb_cCairo_SolidPattern;
60
+ break;
61
+ case CAIRO_PATTERN_TYPE_SURFACE:
62
+ klass = rb_cCairo_SurfacePattern;
63
+ break;
64
+ case CAIRO_PATTERN_TYPE_LINEAR:
65
+ klass = rb_cCairo_LinearPattern;
66
+ break;
67
+ case CAIRO_PATTERN_TYPE_RADIAL:
68
+ klass = rb_cCairo_RadialPattern;
69
+ break;
70
+ #if CAIRO_CHECK_VERSION(1, 11, 4)
71
+ case CAIRO_PATTERN_TYPE_MESH:
72
+ klass = rb_cCairo_MeshPattern;
73
+ break;
74
+ case CAIRO_PATTERN_TYPE_RASTER_SOURCE:
75
+ klass = rb_cCairo_RasterSourcePattern;
76
+ break;
77
+ #endif
78
+ default:
79
+ rb_raise (rb_eArgError, "unknown pattern type: %d", type);
80
+ break;
81
+ }
82
+
83
+ return klass;
84
+ }
85
+
86
+ static VALUE
87
+ cr_pattern_solid_supported_p (VALUE klass)
88
+ {
89
+ return Qtrue;
90
+ }
91
+
92
+ static VALUE
93
+ cr_pattern_surface_supported_p (VALUE klass)
94
+ {
95
+ return Qtrue;
96
+ }
97
+
98
+ static VALUE
99
+ cr_pattern_gradient_supported_p (VALUE klass)
100
+ {
101
+ return Qtrue;
102
+ }
103
+
104
+ static VALUE
105
+ cr_pattern_linear_supported_p (VALUE klass)
106
+ {
107
+ return Qtrue;
108
+ }
109
+
110
+ static VALUE
111
+ cr_pattern_radial_supported_p (VALUE klass)
112
+ {
113
+ return Qtrue;
114
+ }
115
+
116
+ static VALUE
117
+ cr_pattern_mesh_supported_p (VALUE klass)
118
+ {
119
+ #ifdef RB_CAIRO_HAS_MESH_PATTERN
120
+ return Qtrue;
121
+ #else
122
+ return Qfalse;
123
+ #endif
124
+ }
125
+
126
+ static VALUE
127
+ cr_pattern_raster_source_supported_p (VALUE klass)
128
+ {
129
+ #ifdef RB_CAIRO_HAS_RASTER_SOURCE_PATTERN
130
+ return Qtrue;
131
+ #else
132
+ return Qfalse;
133
+ #endif
134
+ }
135
+
136
+ cairo_pattern_t *
137
+ rb_cairo_pattern_from_ruby_object (VALUE obj)
138
+ {
139
+ cairo_pattern_t *pattern;
140
+ if (!rb_cairo__is_kind_of (obj, rb_cCairo_Pattern))
141
+ {
142
+ rb_raise (rb_eTypeError, "not a cairo pattern");
143
+ }
144
+ Data_Get_Struct (obj, cairo_pattern_t, pattern);
145
+ return pattern;
146
+ }
147
+
148
+ static void
149
+ cr_pattern_free (void *ptr)
150
+ {
151
+ if (ptr)
152
+ {
153
+ cairo_pattern_destroy ((cairo_pattern_t *) ptr);
154
+ }
155
+ }
156
+
157
+ VALUE
158
+ rb_cairo_pattern_to_ruby_object (cairo_pattern_t *pattern)
159
+ {
160
+ if (pattern)
161
+ {
162
+ VALUE klass;
163
+ klass = cr_pattern_get_klass (pattern);
164
+ cairo_pattern_reference (pattern);
165
+ return Data_Wrap_Struct (klass, NULL, cr_pattern_free, pattern);
166
+ }
167
+ else
168
+ {
169
+ return Qnil;
170
+ }
171
+ }
172
+
173
+ static VALUE
174
+ cr_pattern_allocate (VALUE klass)
175
+ {
176
+ return Data_Wrap_Struct (klass, NULL, cr_pattern_free, NULL);
177
+ }
178
+
179
+ static VALUE
180
+ cr_pattern_initialize (int argc, VALUE *argv, VALUE self)
181
+ {
182
+ rb_raise(rb_eNotImpError,
183
+ "%s class instantiation isn't supported on this cairo installation",
184
+ rb_obj_classname(self));
185
+
186
+ return Qnil;
187
+ }
188
+
189
+ static VALUE
190
+ cr_solid_pattern_initialize (int argc, VALUE *argv, VALUE self)
191
+ {
192
+ VALUE red, green, blue, alpha;
193
+ int n;
194
+ cairo_pattern_t *pattern;
195
+
196
+ n = rb_scan_args (argc, argv, "13", &red, &green, &blue, &alpha);
197
+
198
+ if (n == 1)
199
+ {
200
+ VALUE color = red;
201
+
202
+ color = cr_color_parse (color);
203
+ if (rb_cairo__is_kind_of (color, rb_cCairo_Color_Base))
204
+ red = rb_funcall (rb_funcall (color, id_to_rgb, 0), id_to_a, 0);
205
+ }
206
+
207
+ if (n == 1 && rb_cairo__is_kind_of (red, rb_cArray) &&
208
+ (RARRAY_LEN (red) == 3 || RARRAY_LEN (red) == 4))
209
+ {
210
+ VALUE ary = red;
211
+ n = RARRAY_LEN (ary);
212
+
213
+ red = rb_ary_entry (ary, 0);
214
+ green = rb_ary_entry (ary, 1);
215
+ blue = rb_ary_entry (ary, 2);
216
+ alpha = rb_ary_entry (ary, 3);
217
+ }
218
+
219
+ if (n == 3)
220
+ {
221
+ pattern = cairo_pattern_create_rgb (NUM2DBL (red),
222
+ NUM2DBL (green),
223
+ NUM2DBL (blue));
224
+ }
225
+ else if (n == 4)
226
+ {
227
+ pattern = cairo_pattern_create_rgba (NUM2DBL (red),
228
+ NUM2DBL (green),
229
+ NUM2DBL (blue),
230
+ NUM2DBL (alpha));
231
+ }
232
+ else
233
+ {
234
+ VALUE inspected;
235
+
236
+ inspected = rb_funcall (argc == 1 ? red : rb_ary_new4 (argc, argv),
237
+ id_inspect, 0);
238
+ rb_raise (rb_eArgError,
239
+ "invalid argument: %s (expect "
240
+ "(color_name), "
241
+ "(color_hex_triplet), "
242
+ "(Cairo::Color::RGB), "
243
+ "(Cairo::Color::CMYK), "
244
+ "(Cairo::Color::HSV), "
245
+ "(red, green, blue), "
246
+ "([red, green, blue]), "
247
+ "(red, green, blue, alpha) or "
248
+ "([red, green, blue, alpha])"
249
+ ")",
250
+ RVAL2CSTR (inspected));
251
+ }
252
+
253
+ cr_pattern_check_status (pattern);
254
+ DATA_PTR (self) = pattern;
255
+ return Qnil;
256
+ }
257
+
258
+ static VALUE
259
+ cr_surface_pattern_initialize (VALUE self, VALUE surface)
260
+ {
261
+ cairo_pattern_t *pattern;
262
+
263
+ pattern = cairo_pattern_create_for_surface (RVAL2CRSURFACE (surface));
264
+ cr_pattern_check_status (pattern);
265
+ DATA_PTR (self) = pattern;
266
+ return Qnil;
267
+ }
268
+
269
+ static VALUE
270
+ cr_linear_pattern_initialize (VALUE self, VALUE x0, VALUE y0,
271
+ VALUE x1, VALUE y1)
272
+ {
273
+ cairo_pattern_t *pattern;
274
+
275
+ pattern = cairo_pattern_create_linear (NUM2DBL (x0), NUM2DBL (y0),
276
+ NUM2DBL (x1), NUM2DBL (y1));
277
+ cr_pattern_check_status (pattern);
278
+ DATA_PTR (self) = pattern;
279
+ return Qnil;
280
+ }
281
+
282
+ static VALUE
283
+ cr_radial_pattern_initialize (VALUE self, VALUE cx0, VALUE cy0, VALUE radius0,
284
+ VALUE cx1, VALUE cy1, VALUE radius1)
285
+ {
286
+ cairo_pattern_t *pattern;
287
+
288
+ pattern = cairo_pattern_create_radial (NUM2DBL (cx0), NUM2DBL (cy0),
289
+ NUM2DBL (radius0),
290
+ NUM2DBL (cx1), NUM2DBL (cy1),
291
+ NUM2DBL (radius1));
292
+ cr_pattern_check_status (pattern);
293
+ DATA_PTR (self) = pattern;
294
+ return Qnil;
295
+ }
296
+
297
+ /* Cairo::GradientPattern */
298
+ static VALUE
299
+ cr_gradient_pattern_add_color_stop_generic (int argc, VALUE *argv, VALUE self)
300
+ {
301
+ VALUE offset, red, green, blue, alpha;
302
+ int n;
303
+
304
+ n = rb_scan_args (argc, argv, "23", &offset, &red, &green, &blue, &alpha);
305
+
306
+ if (n == 2)
307
+ {
308
+ VALUE color = red;
309
+
310
+ color = cr_color_parse (color);
311
+ if (rb_cairo__is_kind_of (color, rb_cCairo_Color_Base))
312
+ red = rb_funcall (rb_funcall (color, id_to_rgb, 0), id_to_a, 0);
313
+ }
314
+
315
+ if (n == 2 && rb_cairo__is_kind_of (red, rb_cArray))
316
+ {
317
+ VALUE ary = red;
318
+ n = RARRAY_LEN (ary) + 1;
319
+
320
+ red = rb_ary_entry (ary, 0);
321
+ green = rb_ary_entry (ary, 1);
322
+ blue = rb_ary_entry (ary, 2);
323
+ alpha = rb_ary_entry (ary, 3);
324
+ }
325
+
326
+ if (n == 4 || (n == 5 && NIL_P (alpha)))
327
+ {
328
+ cairo_pattern_add_color_stop_rgb (_SELF (self), NUM2DBL (offset),
329
+ NUM2DBL (red), NUM2DBL (green),
330
+ NUM2DBL (blue));
331
+ }
332
+ else if (n == 5)
333
+ {
334
+ cairo_pattern_add_color_stop_rgba (_SELF (self), NUM2DBL (offset),
335
+ NUM2DBL (red), NUM2DBL (green),
336
+ NUM2DBL (blue), NUM2DBL (alpha));
337
+ }
338
+ else
339
+ {
340
+ VALUE inspected;
341
+
342
+ inspected = rb_funcall (rb_ary_new4 (argc, argv), id_inspect, 0);
343
+ rb_raise (rb_eArgError,
344
+ "invalid argument: %s (expect "
345
+ "(offset, color_name), "
346
+ "(offset, color_hex_triplet), "
347
+ "(offset, Cairo::Color::RGB), "
348
+ "(offset, Cairo::Color::CMYK), "
349
+ "(offset, Cairo::Color::HSV), "
350
+ "(offset, red, green, blue), "
351
+ "(offset, [red, green, blue]), "
352
+ "(offset, red, green, blue, alpha) or "
353
+ "(offset, [red, green, blue, alpha])"
354
+ ")",
355
+ RVAL2CSTR (inspected));
356
+ }
357
+
358
+ cr_pattern_check_status (_SELF (self));
359
+ return self;
360
+ }
361
+
362
+ /* Cairo::Pattern */
363
+ static VALUE
364
+ cr_pattern_set_matrix (VALUE self, VALUE matrix)
365
+ {
366
+ cairo_pattern_set_matrix (_SELF (self), RVAL2CRMATRIX (matrix));
367
+ cr_pattern_check_status (_SELF (self));
368
+ return self;
369
+ }
370
+
371
+ static VALUE
372
+ cr_pattern_get_matrix (VALUE self)
373
+ {
374
+ cairo_matrix_t matrix;
375
+ cairo_pattern_get_matrix (_SELF (self), &matrix);
376
+ cr_pattern_check_status (_SELF (self));
377
+ return CRMATRIX2RVAL (&matrix);
378
+ }
379
+
380
+ static VALUE
381
+ cr_pattern_set_extend (VALUE self, VALUE extend)
382
+ {
383
+ cairo_pattern_set_extend (_SELF (self), RVAL2CREXTEND (extend));
384
+ cr_pattern_check_status (_SELF (self));
385
+ return self;
386
+ }
387
+
388
+ static VALUE
389
+ cr_pattern_get_extend (VALUE self)
390
+ {
391
+ return INT2NUM (cairo_pattern_get_extend (_SELF (self)));
392
+ }
393
+
394
+ static VALUE
395
+ cr_pattern_set_filter (VALUE self, VALUE filter)
396
+ {
397
+ cairo_pattern_set_filter (_SELF (self), RVAL2CRFILTER (filter));
398
+ cr_pattern_check_status (_SELF (self));
399
+ return self;
400
+ }
401
+
402
+ static VALUE
403
+ cr_pattern_get_filter (VALUE self)
404
+ {
405
+ return INT2NUM (cairo_pattern_get_filter (_SELF (self)));
406
+ }
407
+
408
+ #if CAIRO_CHECK_VERSION(1, 3, 0)
409
+ static VALUE
410
+ cr_solid_pattern_get_rgba (VALUE self)
411
+ {
412
+ double red, green, blue, alpha;
413
+
414
+ rb_cairo_check_status (cairo_pattern_get_rgba (_SELF (self),
415
+ &red, &green, &blue, &alpha));
416
+ return rb_ary_new3 (4,
417
+ rb_float_new (red), rb_float_new (green),
418
+ rb_float_new (blue), rb_float_new (alpha));
419
+ }
420
+
421
+ static VALUE
422
+ cr_solid_pattern_get_color (VALUE self)
423
+ {
424
+ return cr_color_parse (cr_solid_pattern_get_rgba (self));
425
+ }
426
+
427
+ static VALUE
428
+ cr_surface_pattern_get_surface (VALUE self)
429
+ {
430
+ cairo_surface_t *surface;
431
+
432
+ rb_cairo_check_status (cairo_pattern_get_surface (_SELF (self), &surface));
433
+ return CRSURFACE2RVAL (surface);
434
+ }
435
+
436
+ static VALUE
437
+ cr_gradient_pattern_get_color_stop_rgba (VALUE self, VALUE index)
438
+ {
439
+ cairo_status_t status;
440
+ double offset, red, green, blue, alpha;
441
+
442
+ status = cairo_pattern_get_color_stop_rgba (_SELF (self), NUM2INT (index),
443
+ &offset, &red, &green, &blue,
444
+ &alpha);
445
+ rb_cairo_check_status (status);
446
+ return rb_ary_new3 (5, rb_float_new (offset),
447
+ rb_float_new (red), rb_float_new (green),
448
+ rb_float_new (blue), rb_float_new (alpha));
449
+ }
450
+
451
+ static VALUE
452
+ cr_gradient_pattern_get_color_stop_color (VALUE self, VALUE index)
453
+ {
454
+ VALUE result, offset, rgba;
455
+
456
+ result = cr_gradient_pattern_get_color_stop_rgba (self, index);
457
+ offset = rb_ary_shift (result);
458
+ rgba = result;
459
+
460
+ return rb_ary_new3 (2, offset, cr_color_parse (rgba));
461
+ }
462
+
463
+ static VALUE
464
+ cr_gradient_pattern_get_color_stop_count (VALUE self)
465
+ {
466
+ cairo_status_t status;
467
+ int count;
468
+
469
+ status = cairo_pattern_get_color_stop_count (_SELF (self), &count);
470
+ rb_cairo_check_status (status);
471
+ return INT2NUM (count);
472
+ }
473
+
474
+ static VALUE
475
+ cr_linear_pattern_get_linear_points (VALUE self)
476
+ {
477
+ cairo_status_t status;
478
+ double x0, y0, x1, y1;
479
+
480
+ status = cairo_pattern_get_linear_points (_SELF (self), &x0, &y0, &x1, &y1);
481
+ rb_cairo_check_status (status);
482
+ return rb_ary_new3 (4,
483
+ rb_float_new (x0), rb_float_new (y0),
484
+ rb_float_new (x1), rb_float_new (y1));
485
+ }
486
+
487
+ static VALUE
488
+ cr_radial_pattern_get_radial_circles (VALUE self)
489
+ {
490
+ cairo_status_t status;
491
+ double x0, y0, r0, x1, y1, r1;
492
+
493
+ status = cairo_pattern_get_radial_circles (_SELF (self),
494
+ &x0, &y0, &r0,
495
+ &x1, &y1, &r1);
496
+ rb_cairo_check_status (status);
497
+ return rb_ary_new3 (2,
498
+ rb_ary_new3 (3,
499
+ rb_float_new (x0),
500
+ rb_float_new (y0),
501
+ rb_float_new (r0)),
502
+ rb_ary_new3 (3,
503
+ rb_float_new (x1),
504
+ rb_float_new (y1),
505
+ rb_float_new (r1)));
506
+ }
507
+ #endif
508
+
509
+ /* Cairo::SurfacePattern */
510
+ /* none */
511
+
512
+ #ifdef RB_CAIRO_HAS_MESH_PATTERN
513
+ /* Cairo::MeshPattern */
514
+ static VALUE
515
+ cr_mesh_pattern_initialize (VALUE self)
516
+ {
517
+ cairo_pattern_t *pattern;
518
+
519
+ pattern = cairo_pattern_create_mesh ();
520
+ cr_pattern_check_status (pattern);
521
+ DATA_PTR (self) = pattern;
522
+ return Qnil;
523
+ }
524
+
525
+ static VALUE
526
+ cr_mesh_pattern_end_patch (VALUE self)
527
+ {
528
+ cairo_pattern_t *pattern;
529
+
530
+ pattern = _SELF (self);
531
+ cairo_mesh_pattern_end_patch (pattern);
532
+ cr_pattern_check_status (pattern);
533
+ return self;
534
+ }
535
+
536
+ static VALUE
537
+ cr_mesh_pattern_begin_patch (VALUE self)
538
+ {
539
+ cairo_pattern_t *pattern;
540
+
541
+ pattern = _SELF (self);
542
+ cairo_mesh_pattern_begin_patch (pattern);
543
+ cr_pattern_check_status (pattern);
544
+ if (rb_block_given_p ())
545
+ return rb_ensure (rb_yield, self, cr_mesh_pattern_end_patch, self);
546
+ else
547
+ return self;
548
+ }
549
+
550
+ static VALUE
551
+ cr_mesh_pattern_curve_to (VALUE self,
552
+ VALUE x1, VALUE y1,
553
+ VALUE x2, VALUE y2,
554
+ VALUE x3, VALUE y3)
555
+ {
556
+ cairo_pattern_t *pattern;
557
+
558
+ pattern = _SELF (self);
559
+ cairo_mesh_pattern_curve_to (pattern,
560
+ NUM2DBL (x1), NUM2DBL (y1),
561
+ NUM2DBL (x2), NUM2DBL (y2),
562
+ NUM2DBL (x3), NUM2DBL (y3));
563
+ cr_pattern_check_status (pattern);
564
+ return self;
565
+ }
566
+
567
+ static VALUE
568
+ cr_mesh_pattern_line_to (VALUE self, VALUE x, VALUE y)
569
+ {
570
+ cairo_pattern_t *pattern;
571
+
572
+ pattern = _SELF (self);
573
+ cairo_mesh_pattern_line_to (pattern, NUM2DBL (x), NUM2DBL (y));
574
+ cr_pattern_check_status (pattern);
575
+ return self;
576
+ }
577
+
578
+ static VALUE
579
+ cr_mesh_pattern_move_to (VALUE self, VALUE x, VALUE y)
580
+ {
581
+ cairo_pattern_t *pattern;
582
+
583
+ pattern = _SELF (self);
584
+ cairo_mesh_pattern_move_to (pattern, NUM2DBL (x), NUM2DBL (y));
585
+ cr_pattern_check_status (pattern);
586
+ return self;
587
+ }
588
+
589
+ static VALUE
590
+ cr_mesh_pattern_set_control_point (VALUE self, VALUE rb_nth_point,
591
+ VALUE rb_x, VALUE rb_y)
592
+ {
593
+ cairo_pattern_t *pattern;
594
+ unsigned int nth_point;
595
+
596
+ pattern = _SELF (self);
597
+ nth_point = NUM2UINT (rb_nth_point);
598
+ if (0 <= nth_point && nth_point <= 3)
599
+ {
600
+ cairo_mesh_pattern_set_control_point (pattern, nth_point,
601
+ NUM2DBL (rb_x), NUM2DBL (rb_y));
602
+ }
603
+ else
604
+ {
605
+ VALUE inspected;
606
+
607
+ inspected = rb_funcall (rb_ary_new3 (3, rb_nth_point, rb_x, rb_y),
608
+ id_inspect, 0);
609
+ rb_raise (rb_eArgError, "nth_point must be 0, 1, 2 or 3: <%u>: <%s>",
610
+ nth_point, RVAL2CSTR (inspected));
611
+ }
612
+ cr_pattern_check_status (pattern);
613
+ return self;
614
+ }
615
+
616
+ static VALUE
617
+ cr_mesh_pattern_set_corner_color_generic (int argc, VALUE *argv, VALUE self)
618
+ {
619
+ cairo_pattern_t *pattern;
620
+ VALUE rb_nth_corner, rb_red, rb_green, rb_blue, rb_alpha;
621
+ unsigned int nth_corner;
622
+ double red, green, blue, alpha;
623
+
624
+ rb_scan_args (argc, argv, "41",
625
+ &rb_nth_corner, &rb_red, &rb_green, &rb_blue, &rb_alpha);
626
+
627
+ nth_corner = NUM2UINT (rb_nth_corner);
628
+ if (!(0 <= nth_corner && nth_corner <= 3))
629
+ {
630
+ VALUE inspected;
631
+
632
+ inspected = rb_funcall (rb_ary_new4 (argc, argv), id_inspect, 0);
633
+ rb_raise (rb_eArgError, "nth_corner must be 0, 1, 2 or 3: <%u>: <%s>",
634
+ nth_corner, RVAL2CSTR (inspected));
635
+ }
636
+
637
+ pattern = _SELF (self);
638
+ red = NUM2DBL (rb_red);
639
+ green = NUM2DBL (rb_green);
640
+ blue = NUM2DBL (rb_blue);
641
+ if (NIL_P (rb_alpha))
642
+ {
643
+ cairo_mesh_pattern_set_corner_color_rgb (pattern, nth_corner,
644
+ red, green, blue);
645
+ }
646
+ else
647
+ {
648
+ alpha = NUM2DBL (rb_alpha);
649
+ cairo_mesh_pattern_set_corner_color_rgba (pattern, nth_corner,
650
+ red, green, blue, alpha);
651
+ }
652
+ cr_pattern_check_status (pattern);
653
+ return self;
654
+ }
655
+
656
+ static VALUE
657
+ cr_mesh_pattern_get_patch_count (VALUE self)
658
+ {
659
+ cairo_pattern_t *pattern;
660
+ unsigned int count;
661
+ cairo_status_t status;
662
+
663
+ pattern = _SELF (self);
664
+ status = cairo_mesh_pattern_get_patch_count (pattern, &count);
665
+ rb_cairo_check_status (status);
666
+ return UINT2NUM (count);
667
+ }
668
+
669
+ static VALUE
670
+ cr_mesh_pattern_get_path (VALUE self, VALUE nth_patch)
671
+ {
672
+ cairo_pattern_t *pattern;
673
+ cairo_path_t *path;
674
+
675
+ pattern = _SELF (self);
676
+ path = cairo_mesh_pattern_get_path (pattern, NUM2UINT (nth_patch));
677
+ rb_cairo_check_status (path->status);
678
+ return CRPATH2RVAL (path);
679
+ }
680
+
681
+ static VALUE
682
+ cr_mesh_pattern_get_corner_color (VALUE self,
683
+ VALUE rb_nth_patch, VALUE rb_nth_corner)
684
+ {
685
+ cairo_pattern_t *pattern;
686
+ unsigned int nth_patch, nth_corner;
687
+ double red, green, blue, alpha;
688
+ cairo_status_t status;
689
+
690
+ nth_patch = NUM2UINT (rb_nth_patch);
691
+ nth_corner = NUM2UINT (rb_nth_corner);
692
+ if (!(0 <= nth_corner && nth_corner <= 3))
693
+ {
694
+ VALUE inspected;
695
+
696
+ inspected = rb_funcall (rb_ary_new3 (2, rb_nth_patch, rb_nth_corner),
697
+ id_inspect, 0);
698
+ rb_raise (rb_eArgError, "nth_corner must be 0, 1, 2 or 3: <%u>: <%s>",
699
+ nth_corner, RVAL2CSTR (inspected));
700
+ }
701
+
702
+ pattern = _SELF (self);
703
+ status = cairo_mesh_pattern_get_corner_color_rgba (pattern,
704
+ nth_patch, nth_corner,
705
+ &red,
706
+ &green,
707
+ &blue,
708
+ &alpha);
709
+ rb_cairo_check_status (status);
710
+ return rb_ary_new3 (4,
711
+ rb_float_new (red), rb_float_new (green),
712
+ rb_float_new (blue), rb_float_new (alpha));
713
+ }
714
+
715
+ static VALUE
716
+ cr_mesh_pattern_get_control_point (VALUE self,
717
+ VALUE rb_nth_patch, VALUE rb_nth_point)
718
+ {
719
+ cairo_pattern_t *pattern;
720
+ unsigned int nth_patch, nth_point;
721
+ double x, y;
722
+ cairo_status_t status;
723
+
724
+ nth_patch = NUM2UINT (rb_nth_patch);
725
+ nth_point = NUM2UINT (rb_nth_point);
726
+ if (!(0 <= nth_point && nth_point <= 3))
727
+ {
728
+ VALUE inspected;
729
+
730
+ inspected = rb_funcall (rb_ary_new3 (2, rb_nth_patch, rb_nth_point),
731
+ id_inspect, 0);
732
+ rb_raise (rb_eArgError, "nth_point must be 0, 1, 2 or 3: <%u>: <%s>",
733
+ nth_point, RVAL2CSTR (inspected));
734
+ }
735
+
736
+ pattern = _SELF (self);
737
+ status = cairo_mesh_pattern_get_control_point (pattern,
738
+ nth_patch, nth_point,
739
+ &x, &y);
740
+ rb_cairo_check_status (status);
741
+ return rb_ary_new3 (2, rb_float_new (x), rb_float_new (y));
742
+ }
743
+ #endif
744
+
745
+ #ifdef RB_CAIRO_HAS_RASTER_SOURCE_PATTERN
746
+ /* Cairo::RasterSourcePattern */
747
+ static cairo_surface_t *
748
+ cr_raster_source_acquire_callback (cairo_pattern_t *pattern,
749
+ void *callback_data,
750
+ cairo_surface_t *target,
751
+ const cairo_rectangle_int_t *extents)
752
+ {
753
+ VALUE rb_pattern;
754
+ VALUE rb_acquire;
755
+ cairo_surface_t *acquired_surface = NULL;
756
+
757
+ rb_pattern = POINTER2RVAL (callback_data);
758
+ rb_acquire = rb_iv_get (rb_pattern, "@acquire");
759
+ if (!NIL_P (rb_acquire))
760
+ {
761
+ VALUE rb_acquired_surface;
762
+ VALUE rb_target;
763
+ VALUE rb_extents;
764
+
765
+ rb_target = CRSURFACE2RVAL (target);
766
+ rb_extents = rb_funcall (rb_cCairo_Rectangle, id_new, 4,
767
+ INT2NUM (extents->x),
768
+ INT2NUM (extents->y),
769
+ INT2NUM (extents->width),
770
+ INT2NUM (extents->height));
771
+ rb_acquired_surface = rb_funcall (rb_acquire, id_call, 3,
772
+ rb_pattern, rb_target, rb_extents);
773
+ if (!NIL_P (rb_acquired_surface))
774
+ acquired_surface = RVAL2CRSURFACE (rb_acquired_surface);
775
+ }
776
+
777
+ return acquired_surface;
778
+ }
779
+
780
+ static void
781
+ cr_raster_source_release_callback (cairo_pattern_t *pattern,
782
+ void *callback_data,
783
+ cairo_surface_t *surface)
784
+ {
785
+ VALUE rb_pattern;
786
+ VALUE rb_release;
787
+ VALUE rb_surface;
788
+
789
+ rb_pattern = POINTER2RVAL (callback_data);
790
+ rb_release = rb_iv_get (rb_pattern, "@release");
791
+ if (NIL_P (rb_release))
792
+ return;
793
+
794
+ rb_surface = CRSURFACE2RVAL (surface);
795
+ rb_funcall (rb_release, id_call, 2, rb_pattern, rb_surface);
796
+ }
797
+
798
+ typedef struct cr_raster_source_notify_callback_data
799
+ {
800
+ VALUE pattern;
801
+ VALUE callback;
802
+ cairo_status_t status;
803
+ } cr_raster_source_notify_callback_data_t;
804
+
805
+ static VALUE
806
+ cr_raster_source_notify_callback_body (VALUE data)
807
+ {
808
+ cr_raster_source_notify_callback_data_t* callback_data;
809
+
810
+ callback_data = RVAL2POINTER (data);
811
+ rb_funcall (callback_data->callback, id_call, 1, callback_data->pattern);
812
+ return Qnil;
813
+ }
814
+
815
+ static VALUE
816
+ cr_raster_source_notify_callback_rescue (VALUE data, VALUE exception)
817
+ {
818
+ cr_raster_source_notify_callback_data_t *callback_data;
819
+
820
+ callback_data = RVAL2POINTER (data);
821
+ callback_data->status = rb_cairo__exception_to_status (exception);
822
+
823
+ if (callback_data->status == (cairo_status_t)-1)
824
+ rb_exc_raise (exception);
825
+
826
+ return Qnil;
827
+ }
828
+
829
+ static cairo_status_t
830
+ cr_raster_source_snapshot_callback (cairo_pattern_t *pattern,
831
+ void *callback_data)
832
+ {
833
+ VALUE rb_pattern;
834
+ VALUE rb_snapshot;
835
+ cr_raster_source_notify_callback_data_t data;
836
+
837
+ rb_pattern = POINTER2RVAL (callback_data);
838
+ rb_snapshot = rb_iv_get (rb_pattern, "@snapshot");
839
+ if (NIL_P (rb_snapshot))
840
+ return CAIRO_STATUS_SUCCESS;
841
+
842
+ data.pattern = rb_pattern;
843
+ data.callback = rb_snapshot;
844
+ data.status = CAIRO_STATUS_SUCCESS;
845
+ rb_rescue2 (cr_raster_source_notify_callback_body,
846
+ POINTER2RVAL (&data),
847
+ cr_raster_source_notify_callback_rescue,
848
+ POINTER2RVAL (&data),
849
+ rb_eException);
850
+ return data.status;
851
+ }
852
+
853
+ static cairo_status_t
854
+ cr_raster_source_copy_callback (cairo_pattern_t *pattern,
855
+ void *callback_data,
856
+ const cairo_pattern_t *other)
857
+ {
858
+ VALUE rb_pattern;
859
+ VALUE rb_copy;
860
+ cr_raster_source_notify_callback_data_t data;
861
+
862
+ rb_pattern = POINTER2RVAL (callback_data);
863
+ rb_copy = rb_iv_get (rb_pattern, "@copy");
864
+ if (NIL_P (rb_copy))
865
+ return CAIRO_STATUS_SUCCESS;
866
+
867
+ data.pattern = rb_pattern;
868
+ data.callback = rb_copy;
869
+ data.status = CAIRO_STATUS_SUCCESS;
870
+ rb_rescue2 (cr_raster_source_notify_callback_body,
871
+ POINTER2RVAL (&data),
872
+ cr_raster_source_notify_callback_rescue,
873
+ POINTER2RVAL (&data),
874
+ rb_eException);
875
+ return data.status;
876
+ }
877
+
878
+ static void
879
+ cr_raster_source_finish_callback (cairo_pattern_t *pattern, void *callback_data)
880
+ {
881
+ VALUE rb_pattern;
882
+ VALUE rb_finish;
883
+
884
+ rb_pattern = POINTER2RVAL (callback_data);
885
+ rb_finish = rb_iv_get (rb_pattern, "@finish");
886
+ if (NIL_P (rb_finish))
887
+ return;
888
+
889
+ rb_funcall (rb_finish, id_call, 1, rb_pattern);
890
+ }
891
+
892
+ static VALUE
893
+ cr_raster_source_pattern_initialize (int argc, VALUE *argv, VALUE self)
894
+ {
895
+ cairo_pattern_t *pattern;
896
+ cairo_content_t content;
897
+ int width, height;
898
+ VALUE arg1, arg2, arg3;
899
+
900
+ rb_scan_args (argc, argv, "21", &arg1, &arg2, &arg3);
901
+
902
+ if (argc == 2)
903
+ {
904
+ content = CAIRO_CONTENT_COLOR_ALPHA;
905
+ width = NUM2INT (arg1);
906
+ height = NUM2INT (arg2);
907
+ }
908
+ else
909
+ {
910
+ content = RVAL2CRCONTENT (arg1);
911
+ width = NUM2INT (arg2);
912
+ height = NUM2INT (arg3);
913
+ }
914
+
915
+ pattern = cairo_pattern_create_raster_source (RVAL2POINTER (self),
916
+ content, width, height);
917
+ cr_pattern_check_status (pattern);
918
+
919
+ DATA_PTR (self) = pattern;
920
+ rb_iv_set (self, "@acquire", Qnil);
921
+ rb_iv_set (self, "@release", Qnil);
922
+ rb_iv_set (self, "@snapshot", Qnil);
923
+ rb_iv_set (self, "@copy", Qnil);
924
+ rb_iv_set (self, "@finish", Qnil);
925
+
926
+ cairo_raster_source_pattern_set_acquire (pattern,
927
+ cr_raster_source_acquire_callback,
928
+ cr_raster_source_release_callback);
929
+ cairo_raster_source_pattern_set_snapshot (pattern,
930
+ cr_raster_source_snapshot_callback);
931
+ cairo_raster_source_pattern_set_copy (pattern,
932
+ cr_raster_source_copy_callback);
933
+ cairo_raster_source_pattern_set_finish (pattern,
934
+ cr_raster_source_finish_callback);
935
+
936
+ return Qnil;
937
+ }
938
+
939
+ static VALUE
940
+ cr_raster_source_pattern_acquire (VALUE self)
941
+ {
942
+ if (!rb_block_given_p ())
943
+ {
944
+ VALUE inspected;
945
+
946
+ inspected = rb_funcall (self, id_inspect, 0);
947
+ rb_raise (rb_eArgError, "acquire block is missing: %s",
948
+ RVAL2CSTR (inspected));
949
+ }
950
+
951
+ rb_iv_set (self, "@acquire", rb_block_proc ());
952
+
953
+ return self;
954
+ }
955
+
956
+ static VALUE
957
+ cr_raster_source_pattern_release (VALUE self)
958
+ {
959
+ if (!rb_block_given_p ())
960
+ {
961
+ VALUE inspected;
962
+
963
+ inspected = rb_funcall (self, id_inspect, 0);
964
+ rb_raise (rb_eArgError, "release block is missing: %s",
965
+ RVAL2CSTR (inspected));
966
+ }
967
+
968
+ rb_iv_set (self, "@release", rb_block_proc ());
969
+
970
+ return self;
971
+ }
972
+
973
+ static VALUE
974
+ cr_raster_source_pattern_snapshot (VALUE self)
975
+ {
976
+ if (!rb_block_given_p ())
977
+ {
978
+ VALUE inspected;
979
+
980
+ inspected = rb_funcall (self, id_inspect, 0);
981
+ rb_raise (rb_eArgError, "snapshot block is missing: %s",
982
+ RVAL2CSTR (inspected));
983
+ }
984
+
985
+ rb_iv_set (self, "@snapshot", rb_block_proc ());
986
+
987
+ return self;
988
+ }
989
+
990
+ static VALUE
991
+ cr_raster_source_pattern_copy (VALUE self)
992
+ {
993
+ if (!rb_block_given_p ())
994
+ {
995
+ VALUE inspected;
996
+
997
+ inspected = rb_funcall (self, id_inspect, 0);
998
+ rb_raise (rb_eArgError, "copy block is missing: %s",
999
+ RVAL2CSTR (inspected));
1000
+ }
1001
+
1002
+ rb_iv_set (self, "@copy", rb_block_proc ());
1003
+
1004
+ return self;
1005
+ }
1006
+
1007
+ static VALUE
1008
+ cr_raster_source_pattern_finish (VALUE self)
1009
+ {
1010
+ if (!rb_block_given_p ())
1011
+ {
1012
+ VALUE inspected;
1013
+
1014
+ inspected = rb_funcall (self, id_inspect, 0);
1015
+ rb_raise (rb_eArgError, "finish block is missing: %s",
1016
+ RVAL2CSTR (inspected));
1017
+ }
1018
+
1019
+ rb_iv_set (self, "@finish", rb_block_proc ());
1020
+
1021
+ return self;
1022
+ }
1023
+ #endif
1024
+
1025
+ void
1026
+ Init_cairo_pattern (void)
1027
+ {
1028
+ id_parse = rb_intern ("parse");
1029
+ id_to_rgb = rb_intern ("to_rgb");
1030
+ id_to_a = rb_intern ("to_a");
1031
+ id_inspect = rb_intern ("inspect");
1032
+ id_new = rb_intern ("new");
1033
+ id_call = rb_intern ("call");
1034
+
1035
+ rb_cCairo_Pattern =
1036
+ rb_define_class_under (rb_mCairo, "Pattern", rb_cObject);
1037
+
1038
+ rb_define_alloc_func (rb_cCairo_Pattern, cr_pattern_allocate);
1039
+
1040
+ rb_define_singleton_method (rb_cCairo_Pattern, "solid_supported?",
1041
+ cr_pattern_solid_supported_p, 0);
1042
+ rb_define_singleton_method (rb_cCairo_Pattern, "surface_supported?",
1043
+ cr_pattern_surface_supported_p, 0);
1044
+ rb_define_singleton_method (rb_cCairo_Pattern, "gradient_supported?",
1045
+ cr_pattern_gradient_supported_p, 0);
1046
+ rb_define_singleton_method (rb_cCairo_Pattern, "linear_supported?",
1047
+ cr_pattern_linear_supported_p, 0);
1048
+ rb_define_singleton_method (rb_cCairo_Pattern, "radial_supported?",
1049
+ cr_pattern_radial_supported_p, 0);
1050
+ rb_define_singleton_method (rb_cCairo_Pattern, "mesh_supported?",
1051
+ cr_pattern_mesh_supported_p, 0);
1052
+ rb_define_singleton_method (rb_cCairo_Pattern, "raster_source_supported?",
1053
+ cr_pattern_raster_source_supported_p, 0);
1054
+
1055
+ rb_define_method (rb_cCairo_Pattern, "initialize", cr_pattern_initialize, -1);
1056
+
1057
+ rb_define_method (rb_cCairo_Pattern, "set_matrix", cr_pattern_set_matrix, 1);
1058
+ rb_define_method (rb_cCairo_Pattern, "matrix", cr_pattern_get_matrix, 0);
1059
+ rb_define_method (rb_cCairo_Pattern, "set_extend", cr_pattern_set_extend, 1);
1060
+ rb_define_alias (rb_cCairo_Pattern, "__extend__", "extend");
1061
+ rb_define_method (rb_cCairo_Pattern, "extend", cr_pattern_get_extend, 0);
1062
+ rb_define_method (rb_cCairo_Pattern, "set_filter", cr_pattern_set_filter, 1);
1063
+ rb_define_method (rb_cCairo_Pattern, "filter", cr_pattern_get_filter, 0);
1064
+
1065
+ RB_CAIRO_DEF_SETTERS (rb_cCairo_Pattern);
1066
+
1067
+ rb_cCairo_SolidPattern =
1068
+ rb_define_class_under (rb_mCairo, "SolidPattern", rb_cCairo_Pattern);
1069
+
1070
+ rb_define_method (rb_cCairo_SolidPattern, "initialize",
1071
+ cr_solid_pattern_initialize, -1);
1072
+ #if CAIRO_CHECK_VERSION(1, 3, 0)
1073
+ rb_define_method (rb_cCairo_SolidPattern, "rgba",
1074
+ cr_solid_pattern_get_rgba, 0);
1075
+ rb_define_method (rb_cCairo_SolidPattern, "color",
1076
+ cr_solid_pattern_get_color, 0);
1077
+ #endif
1078
+
1079
+ RB_CAIRO_DEF_SETTERS (rb_cCairo_SolidPattern);
1080
+
1081
+ rb_cCairo_SurfacePattern =
1082
+ rb_define_class_under (rb_mCairo, "SurfacePattern", rb_cCairo_Pattern);
1083
+
1084
+ rb_define_method (rb_cCairo_SurfacePattern, "initialize",
1085
+ cr_surface_pattern_initialize, 1);
1086
+ #if CAIRO_CHECK_VERSION(1, 3, 0)
1087
+ rb_define_method (rb_cCairo_SurfacePattern, "surface",
1088
+ cr_surface_pattern_get_surface, 0);
1089
+ #endif
1090
+
1091
+ RB_CAIRO_DEF_SETTERS (rb_cCairo_SurfacePattern);
1092
+
1093
+ rb_cCairo_GradientPattern =
1094
+ rb_define_class_under (rb_mCairo, "GradientPattern", rb_cCairo_Pattern);
1095
+
1096
+ rb_define_method (rb_cCairo_GradientPattern, "add_color_stop",
1097
+ cr_gradient_pattern_add_color_stop_generic, -1);
1098
+ rb_define_alias (rb_cCairo_GradientPattern,
1099
+ "add_color_stop_rgb", "add_color_stop");
1100
+ rb_define_alias (rb_cCairo_GradientPattern,
1101
+ "add_color_stop_rgba", "add_color_stop");
1102
+ #if CAIRO_CHECK_VERSION(1, 3, 0)
1103
+ rb_define_method (rb_cCairo_GradientPattern, "get_color_stop_rgba",
1104
+ cr_gradient_pattern_get_color_stop_rgba, 1);
1105
+ rb_define_method (rb_cCairo_GradientPattern, "get_color_stop_color",
1106
+ cr_gradient_pattern_get_color_stop_color, 1);
1107
+ rb_define_method (rb_cCairo_GradientPattern, "color_stop_count",
1108
+ cr_gradient_pattern_get_color_stop_count, 0);
1109
+ #endif
1110
+
1111
+ RB_CAIRO_DEF_SETTERS (rb_cCairo_GradientPattern);
1112
+
1113
+ rb_cCairo_LinearPattern =
1114
+ rb_define_class_under (rb_mCairo, "LinearPattern",
1115
+ rb_cCairo_GradientPattern);
1116
+
1117
+ rb_define_method (rb_cCairo_LinearPattern, "initialize",
1118
+ cr_linear_pattern_initialize, 4);
1119
+ #if CAIRO_CHECK_VERSION(1, 3, 0)
1120
+ rb_define_method (rb_cCairo_LinearPattern, "points",
1121
+ cr_linear_pattern_get_linear_points, 0);
1122
+ #endif
1123
+
1124
+ RB_CAIRO_DEF_SETTERS (rb_cCairo_LinearPattern);
1125
+
1126
+ rb_cCairo_RadialPattern =
1127
+ rb_define_class_under (rb_mCairo, "RadialPattern",
1128
+ rb_cCairo_GradientPattern);
1129
+
1130
+ rb_define_method (rb_cCairo_RadialPattern, "initialize",
1131
+ cr_radial_pattern_initialize, 6);
1132
+ #if CAIRO_CHECK_VERSION(1, 3, 0)
1133
+ rb_define_method (rb_cCairo_RadialPattern, "circles",
1134
+ cr_radial_pattern_get_radial_circles, 0);
1135
+ #endif
1136
+
1137
+ RB_CAIRO_DEF_SETTERS (rb_cCairo_RadialPattern);
1138
+
1139
+ rb_cCairo_MeshPattern =
1140
+ rb_define_class_under (rb_mCairo, "MeshPattern",
1141
+ rb_cCairo_Pattern);
1142
+ #ifdef RB_CAIRO_HAS_MESH_PATTERN
1143
+ rb_define_method (rb_cCairo_MeshPattern, "initialize",
1144
+ cr_mesh_pattern_initialize, 0);
1145
+ rb_define_method (rb_cCairo_MeshPattern, "begin_patch",
1146
+ cr_mesh_pattern_begin_patch, 0);
1147
+ rb_define_method (rb_cCairo_MeshPattern, "end_patch",
1148
+ cr_mesh_pattern_end_patch, 0);
1149
+ rb_define_method (rb_cCairo_MeshPattern, "curve_to",
1150
+ cr_mesh_pattern_curve_to, 6);
1151
+ rb_define_method (rb_cCairo_MeshPattern, "line_to",
1152
+ cr_mesh_pattern_line_to, 2);
1153
+ rb_define_method (rb_cCairo_MeshPattern, "move_to",
1154
+ cr_mesh_pattern_move_to, 2);
1155
+ rb_define_method (rb_cCairo_MeshPattern, "set_control_point",
1156
+ cr_mesh_pattern_set_control_point, 3);
1157
+ rb_define_method (rb_cCairo_MeshPattern, "set_corner_color",
1158
+ cr_mesh_pattern_set_corner_color_generic, -1);
1159
+ rb_define_alias (rb_cCairo_MeshPattern,
1160
+ "set_corner_color_rgb", "set_corner_color");
1161
+ rb_define_alias (rb_cCairo_MeshPattern,
1162
+ "set_corner_color_rgba", "set_corner_color");
1163
+ rb_define_method (rb_cCairo_MeshPattern, "patch_count",
1164
+ cr_mesh_pattern_get_patch_count, 0);
1165
+ rb_define_method (rb_cCairo_MeshPattern, "get_path",
1166
+ cr_mesh_pattern_get_path, 1);
1167
+ rb_define_method (rb_cCairo_MeshPattern, "get_corner_color",
1168
+ cr_mesh_pattern_get_corner_color, 2);
1169
+ rb_define_method (rb_cCairo_MeshPattern, "get_control_point",
1170
+ cr_mesh_pattern_get_control_point, 2);
1171
+ #endif
1172
+ RB_CAIRO_DEF_SETTERS (rb_cCairo_MeshPattern);
1173
+
1174
+ rb_cCairo_RasterSourcePattern =
1175
+ rb_define_class_under (rb_mCairo, "RasterSourcePattern",
1176
+ rb_cCairo_Pattern);
1177
+ #ifdef RB_CAIRO_HAS_RASTER_SOURCE_PATTERN
1178
+ rb_define_method (rb_cCairo_RasterSourcePattern, "initialize",
1179
+ cr_raster_source_pattern_initialize, -1);
1180
+ rb_define_method (rb_cCairo_RasterSourcePattern, "acquire",
1181
+ cr_raster_source_pattern_acquire, 0);
1182
+ rb_define_method (rb_cCairo_RasterSourcePattern, "release",
1183
+ cr_raster_source_pattern_release, 0);
1184
+ rb_define_method (rb_cCairo_RasterSourcePattern, "snapshot",
1185
+ cr_raster_source_pattern_snapshot, 0);
1186
+ rb_define_method (rb_cCairo_RasterSourcePattern, "copy",
1187
+ cr_raster_source_pattern_copy, 0);
1188
+ rb_define_method (rb_cCairo_RasterSourcePattern, "finish",
1189
+ cr_raster_source_pattern_finish, 0);
1190
+ #endif
1191
+ RB_CAIRO_DEF_SETTERS (rb_cCairo_RasterSourcePattern);
1192
+ }