cairo 1.12.9-x86-mingw32 → 1.14.0-x86-mingw32

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

Potentially problematic release.


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

Files changed (317) hide show
  1. checksums.yaml +4 -4
  2. data/NEWS +27 -0
  3. data/README.rdoc +7 -7
  4. data/Rakefile +72 -23
  5. data/ext/cairo/extconf.rb +3 -3
  6. data/ext/cairo/rb_cairo.h +3 -3
  7. data/ext/cairo/rb_cairo_constants.c +8 -0
  8. data/ext/cairo/rb_cairo_context.c +63 -1
  9. data/ext/cairo/rb_cairo_exception.c +17 -0
  10. data/ext/cairo/rb_cairo_font_face.c +13 -0
  11. data/ext/cairo/rb_cairo_private.c +14 -1
  12. data/ext/cairo/rb_cairo_private.h +12 -1
  13. data/ext/cairo/rb_cairo_surface.c +47 -23
  14. data/lib/2.0/cairo.so +0 -0
  15. data/lib/2.1/cairo.so +0 -0
  16. data/lib/2.2/cairo.so +0 -0
  17. data/lib/cairo/surface.rb +3 -1
  18. data/test/cairo-test-utils.rb +5 -0
  19. data/test/test_constants.rb +11 -0
  20. data/test/test_context.rb +1 -1
  21. data/test/test_exception.rb +9 -0
  22. data/test/test_font_face.rb +1 -1
  23. data/test/test_quartz_image_surface.rb +13 -0
  24. data/test/test_surface.rb +10 -0
  25. data/vendor/local/bin/fc-cache.exe +0 -0
  26. data/vendor/local/bin/fc-cat.exe +0 -0
  27. data/vendor/local/bin/fc-list.exe +0 -0
  28. data/vendor/local/bin/fc-match.exe +0 -0
  29. data/vendor/local/bin/fc-pattern.exe +0 -0
  30. data/vendor/local/bin/fc-query.exe +0 -0
  31. data/vendor/local/bin/fc-scan.exe +0 -0
  32. data/vendor/local/bin/fc-validate.exe +0 -0
  33. data/vendor/local/bin/freetype-config +6 -6
  34. data/vendor/local/bin/libcairo-2.dll +0 -0
  35. data/vendor/local/bin/libcairo-gobject-2.dll +0 -0
  36. data/vendor/local/bin/libcairo-script-interpreter-2.dll +0 -0
  37. data/vendor/local/bin/libfontconfig-1.dll +0 -0
  38. data/vendor/local/bin/libfreetype-6.dll +0 -0
  39. data/vendor/local/bin/libgcc_s_sjlj-1.dll +0 -0
  40. data/vendor/local/bin/libpixman-1-0.dll +0 -0
  41. data/vendor/local/bin/libpng-config +2 -2
  42. data/vendor/local/bin/libpng16-16.dll +0 -0
  43. data/vendor/local/bin/libpng16-config +2 -2
  44. data/vendor/local/bin/libstdc++-6.dll +0 -0
  45. data/vendor/local/bin/libwinpthread-1.dll +0 -0
  46. data/vendor/local/bin/libxml2-2.dll +0 -0
  47. data/vendor/local/bin/png-fix-itxt.exe +0 -0
  48. data/vendor/local/bin/pngfix.exe +0 -0
  49. data/vendor/local/bin/xml2-config +2 -2
  50. data/vendor/local/bin/xmlcatalog.exe +0 -0
  51. data/vendor/local/bin/xmllint.exe +0 -0
  52. data/vendor/local/bin/zlib1.dll +0 -0
  53. data/vendor/local/include/cairo/cairo-version.h +2 -2
  54. data/vendor/local/include/cairo/cairo.h +36 -0
  55. data/vendor/local/include/libpng16/png.h +38 -24
  56. data/vendor/local/include/libpng16/pngconf.h +3 -3
  57. data/vendor/local/include/libpng16/pnglibconf.h +2 -3
  58. data/vendor/local/include/libxml2/libxml/SAX2.h +4 -2
  59. data/vendor/local/include/libxml2/libxml/entities.h +3 -3
  60. data/vendor/local/include/libxml2/libxml/globals.h +12 -5
  61. data/vendor/local/include/libxml2/libxml/relaxng.h +6 -2
  62. data/vendor/local/include/libxml2/libxml/tree.h +49 -42
  63. data/vendor/local/include/libxml2/libxml/xmlIO.h +1 -1
  64. data/vendor/local/include/libxml2/libxml/xmlerror.h +1 -1
  65. data/vendor/local/include/libxml2/libxml/xmlversion.h +4 -4
  66. data/vendor/local/include/pixman-1/pixman-version.h +2 -2
  67. data/vendor/local/include/png.h +38 -24
  68. data/vendor/local/include/pngconf.h +3 -3
  69. data/vendor/local/include/pnglibconf.h +2 -3
  70. data/vendor/local/lib/cmake/libxml2/libxml2-config.cmake +50 -0
  71. data/vendor/local/lib/libcairo-gobject.a +0 -0
  72. data/vendor/local/lib/libcairo-gobject.dll.a +0 -0
  73. data/vendor/local/lib/libcairo-gobject.la +6 -6
  74. data/vendor/local/lib/libcairo-script-interpreter.a +0 -0
  75. data/vendor/local/lib/libcairo-script-interpreter.dll.a +0 -0
  76. data/vendor/local/lib/libcairo-script-interpreter.la +6 -6
  77. data/vendor/local/lib/libcairo.a +0 -0
  78. data/vendor/local/lib/libcairo.dll.a +0 -0
  79. data/vendor/local/lib/libcairo.la +6 -6
  80. data/vendor/local/lib/libfontconfig.dll.a +0 -0
  81. data/vendor/local/lib/libfontconfig.la +2 -2
  82. data/vendor/local/lib/libfreetype.a +0 -0
  83. data/vendor/local/lib/libfreetype.dll.a +0 -0
  84. data/vendor/local/lib/libfreetype.la +2 -2
  85. data/vendor/local/lib/libpixman-1.a +0 -0
  86. data/vendor/local/lib/libpixman-1.dll.a +0 -0
  87. data/vendor/local/lib/libpixman-1.la +3 -3
  88. data/vendor/local/lib/libpng.a +0 -0
  89. data/vendor/local/lib/libpng.dll.a +0 -0
  90. data/vendor/local/lib/libpng.la +4 -4
  91. data/vendor/local/lib/libpng16.a +0 -0
  92. data/vendor/local/lib/libpng16.dll.a +0 -0
  93. data/vendor/local/lib/libpng16.la +4 -4
  94. data/vendor/local/lib/libxml2.a +0 -0
  95. data/vendor/local/lib/libxml2.dll.a +0 -0
  96. data/vendor/local/lib/libxml2.la +3 -3
  97. data/vendor/local/lib/libz.a +0 -0
  98. data/vendor/local/lib/libz.dll.a +0 -0
  99. data/vendor/local/lib/pkgconfig/cairo-fc.pc +2 -2
  100. data/vendor/local/lib/pkgconfig/cairo-ft.pc +2 -2
  101. data/vendor/local/lib/pkgconfig/cairo-gobject.pc +3 -3
  102. data/vendor/local/lib/pkgconfig/cairo-pdf.pc +2 -2
  103. data/vendor/local/lib/pkgconfig/cairo-png.pc +2 -2
  104. data/vendor/local/lib/pkgconfig/cairo-ps.pc +2 -2
  105. data/vendor/local/lib/pkgconfig/cairo-script.pc +2 -2
  106. data/vendor/local/lib/pkgconfig/cairo-svg.pc +2 -2
  107. data/vendor/local/lib/pkgconfig/cairo-win32-font.pc +2 -2
  108. data/vendor/local/lib/pkgconfig/cairo-win32.pc +2 -2
  109. data/vendor/local/lib/pkgconfig/cairo.pc +3 -3
  110. data/vendor/local/lib/pkgconfig/fontconfig.pc +3 -3
  111. data/vendor/local/lib/pkgconfig/freetype2.pc +4 -4
  112. data/vendor/local/lib/pkgconfig/libpng.pc +2 -2
  113. data/vendor/local/lib/pkgconfig/libpng16.pc +2 -2
  114. data/vendor/local/lib/pkgconfig/libxml-2.0.pc +3 -3
  115. data/vendor/local/lib/pkgconfig/pixman-1.pc +2 -2
  116. data/vendor/local/lib/pkgconfig/zlib.pc +3 -3
  117. data/vendor/local/lib/xml2Conf.sh +3 -3
  118. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/Copyright +0 -0
  119. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/examples/testHTML.c +0 -0
  120. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/examples/testSAX.c +0 -0
  121. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/examples/testXPath.c +0 -0
  122. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/examples/xmllint.c +35 -10
  123. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/DOM.gif +0 -0
  124. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/FAQ.html +34 -17
  125. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/Libxml2-Logo-180x168.gif +0 -0
  126. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/Libxml2-Logo-90x34.gif +0 -0
  127. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/encoding.html +20 -10
  128. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/examples.xml +0 -0
  129. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/examples.xsl +0 -0
  130. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/book1.html +0 -0
  131. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/home.png +0 -0
  132. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/index.html +0 -0
  133. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/left.png +0 -0
  134. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-DOCBparser.html +0 -0
  135. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-HTMLparser.html +0 -0
  136. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-HTMLtree.html +0 -0
  137. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-SAX.html +0 -0
  138. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-SAX2.html +0 -0
  139. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-c14n.html +0 -0
  140. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-catalog.html +0 -0
  141. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-chvalid.html +0 -0
  142. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-debugXML.html +0 -0
  143. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-dict.html +0 -0
  144. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-encoding.html +0 -0
  145. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-entities.html +4 -4
  146. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-globals.html +0 -0
  147. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-hash.html +0 -0
  148. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-lib.html +0 -0
  149. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-list.html +0 -0
  150. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-nanoftp.html +0 -0
  151. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-nanohttp.html +0 -0
  152. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-parser.html +0 -0
  153. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-parserInternals.html +0 -0
  154. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-pattern.html +0 -0
  155. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-relaxng.html +0 -0
  156. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-schemasInternals.html +0 -0
  157. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-schematron.html +0 -0
  158. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-threads.html +0 -0
  159. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-tree.html +72 -72
  160. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-uri.html +0 -0
  161. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-valid.html +0 -0
  162. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-xinclude.html +0 -0
  163. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-xlink.html +0 -0
  164. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-xmlIO.html +0 -0
  165. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-xmlautomata.html +0 -0
  166. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-xmlerror.html +1 -1
  167. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-xmlexports.html +0 -0
  168. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-xmlmemory.html +0 -0
  169. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-xmlmodule.html +0 -0
  170. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-xmlreader.html +0 -0
  171. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-xmlregexp.html +0 -0
  172. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-xmlsave.html +0 -0
  173. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-xmlschemas.html +0 -0
  174. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-xmlschemastypes.html +2 -2
  175. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-xmlstring.html +0 -0
  176. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-xmlunicode.html +0 -0
  177. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-xmlversion.html +0 -0
  178. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-xmlwriter.html +0 -0
  179. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-xpath.html +0 -0
  180. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-xpathInternals.html +0 -0
  181. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-xpointer.html +0 -0
  182. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/libxml-xzlib.html +0 -0
  183. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/right.png +0 -0
  184. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/html/up.png +0 -0
  185. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/index.html +0 -0
  186. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/io1.c +0 -0
  187. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/io1.res +0 -0
  188. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/io2.c +0 -0
  189. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/io2.res +0 -0
  190. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/libxml.gif +0 -0
  191. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/parse1.c +0 -0
  192. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/parse2.c +0 -0
  193. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/parse3.c +0 -0
  194. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/parse4.c +0 -0
  195. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/reader1.c +0 -0
  196. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/reader1.res +0 -0
  197. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/reader2.c +0 -0
  198. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/reader3.c +0 -0
  199. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/reader3.res +0 -0
  200. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/reader4.c +0 -0
  201. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/reader4.res +0 -0
  202. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/redhat.gif +0 -0
  203. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/smallfootonly.gif +0 -0
  204. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/structure.gif +0 -0
  205. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/test1.xml +0 -0
  206. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/test2.xml +0 -0
  207. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/test3.xml +0 -0
  208. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/testWriter.c +0 -0
  209. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tree1.c +0 -0
  210. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tree1.res +0 -0
  211. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tree2.c +0 -0
  212. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tree2.res +0 -0
  213. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tst.xml +0 -0
  214. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/apa.html +0 -0
  215. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/apb.html +0 -0
  216. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/apc.html +0 -0
  217. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/apd.html +0 -0
  218. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/ape.html +0 -0
  219. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/apf.html +0 -0
  220. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/apg.html +0 -0
  221. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/aph.html +0 -0
  222. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/api.html +0 -0
  223. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/ar01s02.html +0 -0
  224. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/ar01s03.html +0 -0
  225. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/ar01s04.html +0 -0
  226. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/ar01s05.html +0 -0
  227. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/ar01s06.html +0 -0
  228. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/ar01s07.html +0 -0
  229. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/ar01s08.html +0 -0
  230. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/ar01s09.html +0 -0
  231. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/images/blank.png +0 -0
  232. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/images/callouts/1.png +0 -0
  233. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/images/callouts/10.png +0 -0
  234. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/images/callouts/2.png +0 -0
  235. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/images/callouts/3.png +0 -0
  236. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/images/callouts/4.png +0 -0
  237. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/images/callouts/5.png +0 -0
  238. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/images/callouts/6.png +0 -0
  239. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/images/callouts/7.png +0 -0
  240. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/images/callouts/8.png +0 -0
  241. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/images/callouts/9.png +0 -0
  242. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/images/caution.png +0 -0
  243. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/images/draft.png +0 -0
  244. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/images/home.png +0 -0
  245. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/images/important.png +0 -0
  246. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/images/next.png +0 -0
  247. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/images/note.png +0 -0
  248. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/images/prev.png +0 -0
  249. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/images/tip.png +0 -0
  250. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/images/toc-blank.png +0 -0
  251. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/images/toc-minus.png +0 -0
  252. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/images/toc-plus.png +0 -0
  253. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/images/up.png +0 -0
  254. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/images/warning.png +0 -0
  255. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/includeaddattribute.c +0 -0
  256. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/includeaddkeyword.c +0 -0
  257. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/includeconvert.c +0 -0
  258. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/includegetattribute.c +0 -0
  259. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/includekeyword.c +0 -0
  260. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/includexpath.c +0 -0
  261. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/index.html +0 -0
  262. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/ix01.html +0 -0
  263. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/tutorial/xmltutorial.pdf +0 -0
  264. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/w3c.png +0 -0
  265. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/writer.xml +0 -0
  266. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/xml.html +284 -4
  267. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/xpath1.c +0 -0
  268. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/xpath1.res +0 -0
  269. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/xpath2.c +0 -0
  270. data/vendor/local/share/doc/{libxml2-2.9.1 → libxml2-2.9.2}/html/xpath2.res +0 -0
  271. data/vendor/local/share/gtk-doc/html/cairo/cairo-Error-handling.html +11 -3
  272. data/vendor/local/share/gtk-doc/html/cairo/cairo-FreeType-Fonts.html +12 -29
  273. data/vendor/local/share/gtk-doc/html/cairo/cairo-Image-Surfaces.html +11 -27
  274. data/vendor/local/share/gtk-doc/html/cairo/cairo-PDF-Surfaces.html +22 -3
  275. data/vendor/local/share/gtk-doc/html/cairo/cairo-Paths.html +43 -100
  276. data/vendor/local/share/gtk-doc/html/cairo/cairo-PostScript-Surfaces.html +26 -51
  277. data/vendor/local/share/gtk-doc/html/cairo/cairo-Quartz-Surfaces.html +4 -13
  278. data/vendor/local/share/gtk-doc/html/cairo/cairo-Recording-Surfaces.html +10 -23
  279. data/vendor/local/share/gtk-doc/html/cairo/cairo-Regions.html +8 -8
  280. data/vendor/local/share/gtk-doc/html/cairo/cairo-SVG-Surfaces.html +3 -3
  281. data/vendor/local/share/gtk-doc/html/cairo/cairo-Types.html +7 -17
  282. data/vendor/local/share/gtk-doc/html/cairo/cairo-User-Fonts.html +14 -14
  283. data/vendor/local/share/gtk-doc/html/cairo/cairo-Version-Information.html +342 -0
  284. data/vendor/local/share/gtk-doc/html/cairo/cairo-Win32-Fonts.html +1 -1
  285. data/vendor/local/share/gtk-doc/html/cairo/cairo-Win32-Surfaces.html +5 -5
  286. data/vendor/local/share/gtk-doc/html/cairo/cairo-XLib-Surfaces.html +2 -2
  287. data/vendor/local/share/gtk-doc/html/cairo/cairo-XLib-XRender-Backend.html +1 -1
  288. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-device-t.html +86 -49
  289. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-font-face-t.html +4 -4
  290. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-font-options-t.html +2 -2
  291. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-pattern-t.html +71 -119
  292. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-scaled-font-t.html +72 -159
  293. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html +146 -58
  294. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-t.html +22 -46
  295. data/vendor/local/share/gtk-doc/html/cairo/cairo-support.html +3 -1
  296. data/vendor/local/share/gtk-doc/html/cairo/cairo-text.html +11 -11
  297. data/vendor/local/share/gtk-doc/html/cairo/cairo.devhelp2 +25 -0
  298. data/vendor/local/share/gtk-doc/html/cairo/home.png +0 -0
  299. data/vendor/local/share/gtk-doc/html/cairo/index-1.8.html +9 -0
  300. data/vendor/local/share/gtk-doc/html/cairo/index-all.html +47 -0
  301. data/vendor/local/share/gtk-doc/html/cairo/index.html +4 -1
  302. data/vendor/local/share/gtk-doc/html/cairo/index.sgml +26 -0
  303. data/vendor/local/share/gtk-doc/html/cairo/left.png +0 -0
  304. data/vendor/local/share/gtk-doc/html/cairo/right.png +0 -0
  305. data/vendor/local/share/gtk-doc/html/cairo/up.png +0 -0
  306. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-entities.html +4 -4
  307. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-tree.html +73 -73
  308. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlerror.html +1 -1
  309. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlschemastypes.html +2 -2
  310. data/vendor/local/share/license/cairo/AUTHORS +5 -1
  311. data/vendor/local/share/license/cairo/README +20 -10
  312. data/vendor/local/share/license/libpng/README +20 -7
  313. data/vendor/local/share/man/man1/xmllint.1 +2 -5
  314. data/vendor/local/share/man/man3/libpng.3 +92 -220
  315. data/vendor/local/share/man/man3/libpngpf.3 +2 -2
  316. data/vendor/local/share/man/man5/png.5 +1 -1
  317. metadata +254 -248
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 95cad002f4b037e88d556ed364319b036ab73774
4
- data.tar.gz: e311b379d3cca8ae09290f6a6853160f0b6b84ac
3
+ metadata.gz: 2dd3e49755906b08aed379c487bb7e7565927f35
4
+ data.tar.gz: 6e7539a6e2b6f373901fdb4b935070f23ca70c97
5
5
  SHA512:
6
- metadata.gz: 627f0a7065903eba9ff54e6fd27e74a5afe63b75619563220fe89c8796263bae1f6b73ae07adb1ccba90457773db39683fc60b8e21054c6953eef9980eff7281
7
- data.tar.gz: 019c64c84064e5315ca9021df33d5f332b98ca7d52feb071640ac0ecb7bd8d50f897c33573525b58e933f8c9b46452933d9139606f97148eb15e1da346d85618
6
+ metadata.gz: 8912265da6be8a29b6a9631dca4861d0d215ddc8314cdda7f699cffbfaa52724def46a07799261d00295f687656a16cd8f3aee4bfff4dd20f05e8d12f9eecdd1
7
+ data.tar.gz: 79987f96dd98ed445a25327f9ebfa06fa1cf122af2b8c8b5f9bcd590ecdee6dd5ccab3265ea03df4fd6c45ac9eef1c2e0e638a1681a0f2cd7d97ad37a30de089
data/NEWS CHANGED
@@ -1,3 +1,29 @@
1
+ Release 1.14.0 (2014-11-24) Kouhei Sutou <kou@cozmixng.org>
2
+ ===========================================================
3
+
4
+ Improvements
5
+ ------------
6
+
7
+ * Supported integration with ffi gem.
8
+ [GitHub#20][Patch by Patrick Hanevold]
9
+ * Supported cairo 1.14.0.
10
+ [GitHub#24][GitHub#25][GitHub#28][GitHub#30][Patch by Hiroshi Hatake]
11
+ * Added libstdc++-6.dll into gem for Windows.
12
+
13
+ Fixes
14
+ -----
15
+
16
+ * Fixed an build error on Cygwin.
17
+ [GitHub#19][Reported by Patrick Hanevold][Patch by Masafumi Yokoyama]
18
+ [ruby-gnome2-devel-en][Reported by Detlef Reichl]
19
+
20
+ Thanks
21
+ ------
22
+
23
+ * Patrick Hanevold
24
+ * Masafumi Yokoyama
25
+ * Hiroshi Hatake
26
+
1
27
  Release 1.12.9 (2014-04-05) Kouhei Sutou <kou@cozmixng.org>
2
28
  ===========================================================
3
29
 
@@ -7,6 +33,7 @@ Improvements
7
33
  * Supported cocoa gem. [Patch by Patrick Hanevold]
8
34
  * Made Cairo::Rectangle based on cairo_rectangle_int_t. It improves
9
35
  Ruby/GDK3 integration.
36
+ * windows: Dropped binary packages support for Ruby 1.9.3.
10
37
 
11
38
  Fixes
12
39
  -----
@@ -12,7 +12,7 @@ http://cairographics.org/
12
12
 
13
13
  == Dependencies
14
14
 
15
- * ruby >= 1.9.3 (2.0.0 also supported!)
15
+ * ruby >= 1.9.3 (2.2 also supported!)
16
16
  * cairo >= 1.2.0 (1.12.0 also supported!)
17
17
 
18
18
  == Install
@@ -38,11 +38,11 @@ Compiling:
38
38
  % make # to compile
39
39
 
40
40
  # make install # to install the cairo extension.
41
- # The samples in the samples folder should be able
42
- # to run before installation except text-on-path.rb
43
- # and text2.rb. They uses Ruby/Pango with rcairo
44
- # support. So you need to install rcairo and build
45
- # Ruby/Pango with it before you run them.
41
+ # The samples in the samples folder should be able
42
+ # to run before installation except text-on-path.rb
43
+ # and text2.rb. They uses Ruby/Pango with rcairo
44
+ # support. So you need to install rcairo and build
45
+ # Ruby/Pango with it before you run them.
46
46
 
47
47
  Options to extconf.rb:
48
48
 
@@ -67,7 +67,7 @@ cairo-X.Y.Z-x86-mingw32.gem includes cairo related binaries.
67
67
  == Documents
68
68
 
69
69
  * Reference manual:
70
- http://cairo.rubyforge.org/doc/
70
+ http://rcairo.github.io/doc/
71
71
  * Repository of the reference manual:
72
72
  http://github.com/rcairo/doc
73
73
  * An article for rcairo on Rubyst Magazine a.k.a. RubiMa (in Japanese):
data/Rakefile CHANGED
@@ -1,21 +1,21 @@
1
1
  # -*- coding: utf-8; mode: ruby -*-
2
2
 
3
- require 'English'
4
-
5
- require 'find'
6
- require 'fileutils'
7
- require 'open-uri'
8
- require 'rubygems'
9
- require 'rubygems/package_task'
10
- require 'yard'
11
- require 'bundler/gem_helper'
12
- require 'rake/extensiontask'
13
- require 'packnga'
3
+ require "English"
4
+
5
+ require "find"
6
+ require "fileutils"
7
+ require "open-uri"
8
+ require "rubygems"
9
+ require "rubygems/package_task"
10
+ require "yard"
11
+ require "bundler/gem_helper"
12
+ require "rake/extensiontask"
13
+ require "packnga"
14
14
 
15
15
  base_dir = File.join(File.dirname(__FILE__))
16
16
 
17
- cairo_ext_dir = File.join(base_dir, 'ext', 'cairo')
18
- cairo_lib_dir = File.join(base_dir, 'lib')
17
+ cairo_ext_dir = File.join(base_dir, "ext", "cairo")
18
+ cairo_lib_dir = File.join(base_dir, "lib")
19
19
  $LOAD_PATH.unshift(cairo_ext_dir)
20
20
  $LOAD_PATH.unshift(cairo_lib_dir)
21
21
  ENV["RUBYLIB"] = "#{cairo_lib_dir}:#{cairo_ext_dir}:#{ENV['RUBYLIB']}"
@@ -29,14 +29,24 @@ Gem::PackageTask.new(spec) do |pkg|
29
29
  end
30
30
 
31
31
  Packnga::DocumentTask.new(spec) do |task|
32
+ task.original_language = "en"
33
+ task.translate_languages = ["ja"]
32
34
  end
33
35
 
34
36
  Packnga::ReleaseTask.new(spec) do |task|
35
37
  end
36
38
 
39
+ module RCairoBuild
40
+ class << self
41
+ def for_64bit?
42
+ ENV["RCAIRO_WINDOWS_64"] == "yes"
43
+ end
44
+ end
45
+ end
46
+
37
47
  binary_dir = File.join("vendor", "local")
38
48
  Rake::ExtensionTask.new("cairo", spec) do |ext|
39
- if ENV["RCAIRO_WINDOWS_64"] == "yes"
49
+ if RCairoBuild.for_64bit?
40
50
  ext.cross_platform = ["x64-mingw32"]
41
51
  else
42
52
  ext.cross_platform = ["x86-mingw32"]
@@ -135,7 +145,7 @@ class Package < Struct.new(:name,
135
145
  end
136
146
 
137
147
  def build_host
138
- if ENV["RCAIRO_WINDOWS_64"] == "yes"
148
+ if RCairoBuild.for_64bit?
139
149
  "x86_64-w64-mingw32"
140
150
  else
141
151
  "i686-w64-mingw32"
@@ -190,9 +200,21 @@ class WindowsTask
190
200
  directory binary_path.to_s
191
201
  desc "Bundle GCC related DLLs"
192
202
  task :bundle => binary_path do
193
- dll_names = ["libgcc_s_sjlj-1.dll", "libwinpthread-1.dll"]
203
+ dll_names = [
204
+ "libstdc++-6.dll",
205
+ "libwinpthread-1.dll",
206
+ "libgcc_s_sjlj-1.dll",
207
+ "libgcc_s_seh-1.dll",
208
+ ]
194
209
  dll_names.each do |dll_name|
195
- cp(absolete_gcc_dll_path(dll_name), binary_path)
210
+ destination_path = binary_path + dll_name
211
+ dll_path = absolete_gcc_dll_path(dll_name)
212
+ unless File.exist?(dll_path)
213
+ puts("#{dll_name} doesn't exist.")
214
+ next
215
+ end
216
+ cp(dll_path, destination_path)
217
+ chmod(0755, destination_path)
196
218
  end
197
219
  end
198
220
  end
@@ -227,6 +249,7 @@ class WindowsTask
227
249
  end
228
250
 
229
251
  def download(package, archive_path)
252
+ rake_output_message "Downloading... #{package.archive_url}"
230
253
  open(package.archive_url) do |downloaded_archive|
231
254
  begin
232
255
  archive_path.open("wb") do |archive_file|
@@ -379,7 +402,11 @@ class WindowsTask
379
402
  end
380
403
 
381
404
  def ruby_gnome2_dir
382
- @base_dir.parent + "ruby-gnome2.win32"
405
+ if RCairoBuild.for_64bit?
406
+ @base_dir.parent + "ruby-gnome2.win64"
407
+ else
408
+ @base_dir.parent + "ruby-gnome2.win32"
409
+ end
383
410
  end
384
411
 
385
412
  def ruby_glib2_pkg_config_path
@@ -423,8 +450,8 @@ windows_task = WindowsTask.new(spec) do |task|
423
450
  },
424
451
  {
425
452
  :name => "libpng",
426
- :version => "1.6.10",
427
- :download_base_url => "http://sourceforge.net/projects/libpng/files/libpng16/1.6.10",
453
+ :version => "1.6.14",
454
+ :download_base_url => "http://sourceforge.net/projects/libpng/files/libpng16/1.6.14",
428
455
  :windows => {
429
456
  :built_file => "bin/libpng16-16.dll",
430
457
  },
@@ -440,7 +467,7 @@ windows_task = WindowsTask.new(spec) do |task|
440
467
  },
441
468
  {
442
469
  :name => "libxml2",
443
- :version => "2.9.1",
470
+ :version => "2.9.2",
444
471
  :download_base_url => "ftp://xmlsoft.org/libxml2",
445
472
  :compression_method => "gz",
446
473
  :windows => {
@@ -448,6 +475,10 @@ windows_task = WindowsTask.new(spec) do |task|
448
475
  :configure_args => [
449
476
  "--without-python",
450
477
  ],
478
+ :patches => [
479
+ "remove-empty-z_dir-ldflags.diff",
480
+ ],
481
+ :need_autoreconf => true,
451
482
  },
452
483
  },
453
484
  {
@@ -469,7 +500,7 @@ windows_task = WindowsTask.new(spec) do |task|
469
500
  },
470
501
  {
471
502
  :name => "pixman",
472
- :version => "0.32.4",
503
+ :version => "0.32.6",
473
504
  :download_site => :cairo,
474
505
  :compression_method => "gz",
475
506
  :windows => {
@@ -478,13 +509,17 @@ windows_task = WindowsTask.new(spec) do |task|
478
509
  },
479
510
  {
480
511
  :name => "cairo",
481
- :version => "1.12.16",
512
+ :version => "1.14.0",
482
513
  :download_site => :cairo,
483
514
  :windows => {
484
515
  :built_file => "bin/libcairo-2.dll",
485
516
  :configure_args => [
486
517
  "--enable-gobject",
487
518
  ],
519
+ :patches => [
520
+ "cairo-1.14-missing-exeext-float-m4.diff"
521
+ ],
522
+ :need_autoreconf => true,
488
523
  },
489
524
  },
490
525
  ]
@@ -569,3 +604,17 @@ langs.each do |lang,|
569
604
  rm Dir[File.join(lang_doc_dir, "*.{rd,rdc,rbl}")]
570
605
  end
571
606
  end
607
+
608
+ file "Makefile" => ["extconf.rb", "ext/cairo/extconf.rb"] do
609
+ ruby("extconf.rb")
610
+ end
611
+
612
+ desc "Configure"
613
+ task :configure => "Makefile"
614
+
615
+ desc "Run test"
616
+ task :test => :configure do
617
+ ruby("test/run-test.rb")
618
+ end
619
+
620
+ task :default => :test
@@ -29,13 +29,13 @@ major, minor, micro = 1, 2, 0
29
29
  base_dir = Pathname(__FILE__).dirname.parent.parent
30
30
  checking_for(checking_message("Win32 OS")) do
31
31
  case RUBY_PLATFORM
32
- when /cygwin|mingw|mswin32/
32
+ when /mingw|mswin32/
33
33
  $defs << "-DRUBY_CAIRO_PLATFORM_WIN32"
34
34
  import_library_name = "libruby-#{module_name}.a"
35
35
  $DLDFLAGS << " -Wl,--out-implib=#{import_library_name}"
36
36
  $cleanfiles << import_library_name
37
- if with_config('vendor-override', true)
38
- binary_base_dir = base_dir + "vendor" + "local"
37
+ binary_base_dir = base_dir + "vendor" + "local"
38
+ if with_config('vendor-override', binary_base_dir.exist?)
39
39
  $CFLAGS += " -I#{binary_base_dir}/include"
40
40
  pkg_config_dir = binary_base_dir + "lib" + "pkgconfig"
41
41
  PKGConfig.add_path(pkg_config_dir.to_s)
@@ -5,7 +5,7 @@
5
5
  * $Author: kou $
6
6
  * $Date: 2008-09-19 12:56:27 $
7
7
  *
8
- * Copyright 2006-2008 Kouhei Sutou <kou@cozmixng.org>
8
+ * Copyright 2006-2014 Kouhei Sutou <kou@cozmixng.org>
9
9
  * Copyright 2005 Øyvind Kolås <pippin@freedesktop.org>
10
10
  * Copyright 2004-2005 MenTaLguY <mental@rydia.com>
11
11
  *
@@ -72,8 +72,8 @@ RB_CAIRO_BEGIN_DECLS
72
72
  #endif
73
73
 
74
74
  #define RB_CAIRO_VERSION_MAJOR 1
75
- #define RB_CAIRO_VERSION_MINOR 12
76
- #define RB_CAIRO_VERSION_MICRO 9
75
+ #define RB_CAIRO_VERSION_MINOR 14
76
+ #define RB_CAIRO_VERSION_MICRO 0
77
77
 
78
78
  RB_CAIRO_VAR VALUE rb_mCairo;
79
79
  RB_CAIRO_VAR VALUE rb_cCairo_Context;
@@ -651,6 +651,14 @@ Init_cairo_constants (void)
651
651
  rb_define_const (rb_mCairo_MimeType, "UNIQUE_ID",
652
652
  rb_str_new2 (CAIRO_MIME_TYPE_UNIQUE_ID));
653
653
  #endif
654
+ #if CAIRO_CHECK_VERSION(1, 14, 0)
655
+ rb_define_const (rb_mCairo_MimeType, "JBIG2",
656
+ rb_str_new2 (CAIRO_MIME_TYPE_JBIG2));
657
+ rb_define_const (rb_mCairo_MimeType, "JBIG2_GLOBAL",
658
+ rb_str_new2 (CAIRO_MIME_TYPE_JBIG2_GLOBAL));
659
+ rb_define_const (rb_mCairo_MimeType, "JBIG2_GLOBAL_ID",
660
+ rb_str_new2 (CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID));
661
+ #endif
654
662
 
655
663
  #if CAIRO_CHECK_VERSION(1, 10, 0)
656
664
  rb_mCairo_RegionOverlap = rb_define_module_under (rb_mCairo, "RegionOverlap");
@@ -5,7 +5,7 @@
5
5
  * $Author: kou $
6
6
  * $Date: 2008-09-26 13:52:08 $
7
7
  *
8
- * Copyright 2005-2010 Kouhei Sutou <kou@cozmixng.org>
8
+ * Copyright 2005-2014 Kouhei Sutou <kou@cozmixng.org>
9
9
  * Copyright 2005 Øyvind Kolås <pippin@freedesktop.org>
10
10
  * Copyright 2004-2005 MenTaLguY <mental@rydia.com>
11
11
  *
@@ -129,6 +129,51 @@ cr_destroy_with_destroy_check (VALUE self)
129
129
  return Qnil;
130
130
  }
131
131
 
132
+ static VALUE
133
+ cr_s_wrap (VALUE self, VALUE pointer)
134
+ {
135
+ VALUE result;
136
+ VALUE rb_cr;
137
+ cairo_t *cr;
138
+
139
+ if (NIL_P (rb_cairo__cFFIPointer))
140
+ {
141
+ rb_raise (rb_eNotImpError,
142
+ "%s: FFI::Pointer is required",
143
+ rb_id2name (rb_frame_this_func ()));
144
+ }
145
+
146
+ if (!RTEST (rb_obj_is_kind_of (pointer, rb_cairo__cFFIPointer)))
147
+ {
148
+ rb_raise (rb_eArgError,
149
+ "must be FFI::Pointer: %s",
150
+ rb_cairo__inspect (pointer));
151
+ }
152
+
153
+ {
154
+ VALUE rb_cr_address;
155
+ rb_cr_address = rb_funcall (pointer, rb_intern ("address"), 0);
156
+ cr = NUM2PTR (rb_cr_address);
157
+ cr_check_status (cr);
158
+ }
159
+
160
+ rb_cr = rb_obj_alloc (self);
161
+ cairo_reference (cr);
162
+ DATA_PTR (rb_cr) = cr;
163
+ rb_ivar_set (rb_cr, cr_id_surface, Qnil);
164
+
165
+ if (rb_block_given_p ())
166
+ {
167
+ result = rb_ensure (rb_yield, rb_cr, cr_destroy_with_destroy_check, rb_cr);
168
+ }
169
+ else
170
+ {
171
+ result = rb_cr;
172
+ }
173
+
174
+ return result;
175
+ }
176
+
132
177
  static VALUE
133
178
  cr_initialize (VALUE self, VALUE target)
134
179
  {
@@ -138,6 +183,7 @@ cr_initialize (VALUE self, VALUE target)
138
183
  cr = cairo_create (RVAL2CRSURFACE (target));
139
184
  cr_check_status (cr);
140
185
  rb_ivar_set (self, cr_id_surface, target);
186
+ rb_ivar_set (self, cr_id_source, Qnil);
141
187
  if (rb_ivar_defined (target, rb_cairo__io_id_output))
142
188
  cr_set_user_data (cr,
143
189
  &cr_object_holder_key,
@@ -149,6 +195,17 @@ cr_initialize (VALUE self, VALUE target)
149
195
  return result;
150
196
  }
151
197
 
198
+ static VALUE
199
+ cr_to_ptr (VALUE self)
200
+ {
201
+ if (NIL_P (rb_cairo__cFFIPointer))
202
+ return Qnil;
203
+
204
+ return rb_funcall (rb_cairo__cFFIPointer, rb_intern ("new"),
205
+ 1, PTR2NUM (_SELF));
206
+ }
207
+
208
+
152
209
  static VALUE
153
210
  cr_restore (VALUE self)
154
211
  {
@@ -1526,6 +1583,9 @@ Init_cairo_context (void)
1526
1583
  rb_cairo__initialize_gc_guard_holder_class (rb_cCairo_Context);
1527
1584
  rb_set_end_proc(cr_destroy_all_guarded_contexts_at_end, Qnil);
1528
1585
 
1586
+ /* For integrate other libraries such as a FFI based library. */
1587
+ rb_define_singleton_method (rb_cCairo_Context, "wrap", cr_s_wrap, 1);
1588
+
1529
1589
  /* Functions for manipulating state objects */
1530
1590
  rb_define_method (rb_cCairo_Context, "initialize", cr_initialize, 1);
1531
1591
  rb_define_method (rb_cCairo_Context, "destroy", cr_destroy, 0);
@@ -1675,5 +1735,7 @@ Init_cairo_context (void)
1675
1735
  rb_define_method (rb_cCairo_Context, "copy_path_flat", cr_copy_path_flat, 0);
1676
1736
  rb_define_method (rb_cCairo_Context, "append_path", cr_copy_append_path, 1);
1677
1737
 
1738
+ rb_define_method (rb_cCairo_Context, "to_ptr", cr_to_ptr, 0);
1739
+
1678
1740
  RB_CAIRO_DEF_SETTERS (rb_cCairo_Context);
1679
1741
  }
@@ -61,6 +61,9 @@ static VALUE rb_eCairo_DeviceError;
61
61
  static VALUE rb_eCairo_InvalidMeshConstruction;
62
62
  static VALUE rb_eCairo_DeviceFinished;
63
63
  #endif
64
+ #if CAIRO_CHECK_VERSION(1, 14, 0)
65
+ static VALUE rb_eCairo_JBIG2GlobalMissing;
66
+ #endif
64
67
 
65
68
  void
66
69
  rb_cairo_check_status (cairo_status_t status)
@@ -192,6 +195,11 @@ rb_cairo_check_status (cairo_status_t status)
192
195
  rb_raise (rb_eCairo_DeviceFinished, "%s", string);
193
196
  break;
194
197
  #endif
198
+ #if CAIRO_CHECK_VERSION(1, 14, 0)
199
+ case CAIRO_STATUS_JBIG2_GLOBAL_MISSING:
200
+ rb_raise (rb_eCairo_JBIG2GlobalMissing, "%s", string);
201
+ break;
202
+ #endif
195
203
  #if CAIRO_CHECK_VERSION(1, 10, 0)
196
204
  case CAIRO_STATUS_LAST_STATUS:
197
205
  #else
@@ -285,6 +293,10 @@ rb_cairo__exception_to_status (VALUE exception)
285
293
  else if (rb_cairo__is_kind_of (exception, rb_eCairo_DeviceError))
286
294
  return CAIRO_STATUS_DEVICE_ERROR;
287
295
  #endif
296
+ #if CAIRO_CHECK_VERSION(1, 14, 0)
297
+ else if (rb_cairo__is_kind_of (exception, rb_eCairo_JBIG2GlobalMissing))
298
+ return CAIRO_STATUS_JBIG2_GLOBAL_MISSING;
299
+ #endif
288
300
 
289
301
  return -1;
290
302
  }
@@ -426,4 +438,9 @@ Init_cairo_exception ()
426
438
  rb_define_class_under (rb_mCairo, "DeviceFinished",
427
439
  rb_eCairo_Error);
428
440
  #endif
441
+ #if CAIRO_CHECK_VERSION(1, 14, 0)
442
+ rb_eCairo_JBIG2GlobalMissing =
443
+ rb_define_class_under (rb_mCairo, "JBIG2GlobalMissing",
444
+ rb_eCairo_Error);
445
+ #endif
429
446
  }